如何在 python 中创建一个函数,它将整数列表作为输入并输出只有两个值的较小列表?

Posted

技术标签:

【中文标题】如何在 python 中创建一个函数,它将整数列表作为输入并输出只有两个值的较小列表?【英文标题】:How do I make a function in python which takes a list of integers as an input and outputs smaller lists with only two values? 【发布时间】:2022-01-01 13:01:13 【问题描述】:

我有一个显示的投注赔率列表以及here 显示的球队名称。在我可以对数据进行计算以确定我是否要下注之前,我想对我的数据进行分组,以便配对在一起的赔率在我可以专门针对的单独列表中(2 组)。如图所示,如果为 Wilsa Krakow 提供 2.15 的赔率,那么这个赔率将与他们正在比赛的球队 Hippomanics(电子竞技队因此有奇怪的名字)的 1.64 赔率完美配对。

基本上我只是希望能够从list[0]list[1] 位置获取值并仅使用这些值创建一个新列表,然后继续执行此操作(list[2]list[3] 进入单独的列表,和 list[4] 和 list[5] 等)只是不确定如何编写一个函数,该函数将遍历列表并获取两个值,将它们分组到一个新列表中,然后重复此过程直到它在结束时终止列表。感谢您提前提供任何帮助。

【问题讨论】:

欢迎来到Stack Overflow. 请注意这不是代码编写或辅导服务。我们可以帮助解决具体的技术问题,而不是对代码或建议的开放式请求。请编辑您的问题以显示您迄今为止尝试过的内容,以及您需要帮助的具体问题。请参阅How To Ask a Good Question 页面,详细了解如何最好地帮助我们。 【参考方案1】:

如果您只想要两个一组(而不是 n 组),那么您可以硬编码 n=2 并使用列表推导返回一个列表列表。如果列表的长度是奇数,这也会在列表的末尾创建一组一个:

some_list = ['a','b','c','d','e']
[some_list[i:i+2] for i in range(0, len(some_list), 2)] 

这将返回:

[['a', 'b'], ['c', 'd'], ['e']]

【讨论】:

刚刚查看了您提供的示例,想知道新列表是在什么下创建的?否则我找不到这个输出会去哪里? @CalebNoakes 我留下了这个开放式,因为我无法从您的问题中确定您希望如何将新列表分配给变量。您执行team_groups = [some_list[i:i+2] for i in range(0, len(some_list), 2)] 之类的操作,然后访问team_groups[0], team_groups[1],... team_groups[n],因为包含许多子列表

以上是关于如何在 python 中创建一个函数,它将整数列表作为输入并输出只有两个值的较小列表?的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中创建随机整数列表

在python中创建另存为函数

在 python 中创建一个函数,它将在 pandas 数据框中估算均值或中值

在 Python 中创建具有重复值的整数列表

如何在 JavaScript 中创建唯一项目列表? [复制]

在 VBA 中创建范围