当前位置: 首页 > 面试题库 >

遍历Python中多个列表中值的所有组合

陆雅志
2023-03-14
问题内容

给定多个长度可能不同的列表,我想遍历值的所有组合,每个列表中的一项。例如:

first = [1, 5, 8]
second = [0.5, 4]

然后我想要的输出是:

combined = [(1, 0.5), (1, 4), (5, 0.5), (5, 4), (8, 0.5), (8, 4)]

我想遍历 合并 列表。我该如何完成?


问题答案:

itertools.product
应该可以。

>>> import itertools
>>> list(itertools.product([1, 5, 8], [0.5, 4]))
[(1, 0.5), (1, 4), (5, 0.5), (5, 4), (8, 0.5), (8, 4)]

请注意,它itertools.product返回一个迭代器,因此,如果仅要迭代一次,则无需将其转换为列表。

例如。

for x in itertools.product([1, 5, 8], [0.5, 4]):
    # do stuff


 类似资料:
  • 问题内容: 给出清单 我想遍历所有成对的连续列表项,即 我想以更紧凑的方式做到这一点,例如 有没有办法使用内置的Python迭代器来做到这一点?我确定该模块应该有解决方案,但我无法弄清楚。 问题答案: 只需使用拉链 如建议的那样,你可能会考虑在很长的列表中使用此函数,而这些列表又不想创建新列表。

  • 问题内容: 例如: 上面的代码不执行任何操作,因为条件不是通过引用获得的。正确的方法是什么? 问题答案: 您可以使用: 但是,总的来说,这些东西在使用辅助函数和列表理解时会更加干净: 应该注意的是,第二种解决方案不会适当地更新列表-换句话说,如果您对此列表有其他引用,则它们不会受到影响。如果需要,可以使用切片分配很容易地进行替换:

  • 本文向大家介绍python中zip()函数遍历多个列表方法,包括了python中zip()函数遍历多个列表方法的使用技巧和注意事项,需要的朋友参考一下 在对列表的元素进行找寻时,会频繁的说到遍历的理念。对于复杂的遍历要求,如多个列表中查找就显然不适合用for循环。本篇所要带来的是zip() 函数的方法,能够对多个迭代器进行遍历。下面我们就python中zip的说明、语法、使用注意点进行讲解,然后带

  • 问题内容: 我有一个这样的清单清单。 现在,我需要遍历上面的列表并输出一个字符串列表,如下所示(原始列表中没有数字) 问题答案: 准确执行您指定的操作的最简单解决方案是: 这基本上等效于迭代版本: 但是,这并不是遍历具有任意维数的多维列表的通用方法,因为嵌套列表推导/嵌套的for循环可能很难看。但是,对于2或3维列表,您应该放心。 如果您确实决定需要平整3个以上的尺寸,我建议实现一个递归遍历函数,

  • 以下是一个以1、2或3颗星评级的项目示例。我试图每月统计所有项目评分组合(星级)。 在下面的例子中,第10项在第1个月被评定,两个等级等于1,一个等级等于2,一个等级等于3。 对于给定的上述输入帧输出应该是: 我试图从以下代码开始解决这个问题,该代码的结果仍然需要转换为所需的输出帧格式,并且给出了错误的答案: 无论如何,应该有一个更好的方法来创建输出表,然后完成这个: ​

  • 问题内容: 具体来说,我有两个字符串列表,我想将它们组合成一个字符串,其中每一行是列表中的下两个字符串,以空格分隔: 我想要一个函数Combine_to_lines()返回: 我承认我已经解决了这个问题,所以我将发布答案。但是也许其他人有更好的表现,或者看到我的缺点。 更新 :我在上面简化了我的示例。在我的实际问题中,以更复杂的方式设置行的格式,这要求解压缩从zip()返回的元组。但是对于mhaw