Python每个列表一项的所有组合[重复]
Posted
技术标签:
【中文标题】Python每个列表一项的所有组合[重复]【英文标题】:Python all combinations of one item per list [duplicate] 【发布时间】:2021-02-18 09:10:34 【问题描述】:我有不同数量的不同长度的列表。我需要尝试创造每个列表有一个项目的所有可能性。这如何在 Python 中完成?
例子
l1 = ['a', 'b', 'c']
l2 = [1, 2]
l3 = [6]
# Expected result:
[
['a', 1, 6],
['a', 2, 6],
['b', 1, 6],
['b', 2, 6],
['c', 1, 6],
['c', 2, 6],
]
在这种情况下,我可以有 3 个循环,但由于这是用于不明确数量的列表,因此无法扩展。
我尝试了一下使用 itertools,但不知道该用什么来处理我的案例,并且在这里找不到类似的问题。因此,我们将不胜感激。
【问题讨论】:
itertools.product
没有做你想做的事吗?
这是你的答案:***.com/a/57179187/9338741 Cheers。
【参考方案1】:
如果您有不同数量的列表,您应该使用列表列表,而不是单独的变量。然后您可以将列表展开为itertools.product()
的参数。
import itertools
lists = [
['a', 'b', 'c'],
[1, 2],
[6]
]
print(list(itertools.product(*lists)))
【讨论】:
以上是关于Python每个列表一项的所有组合[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 中,如何找到不是某个值的列表中第一项的索引?