Python 迭代工具

标签 python python-itertools

我有 4 个包含不同数量元素的列表。我想输出单个列表元素的 3 个项目的所有可能组合。 一种方法是 itertool.combinations (),但使用 .combinations 我只能组合列表中的项目。

列表:

colors      = ["blue", "yellow", "green", "black", "magenta"]
numbers     = [1,2,3,4,5,6,7,8]
material = ["beton", "wood", "stone"]
names      = ["Susi", "Klara", "Claire", "Moni"]

结果应该是:

[blue, 1, beton], [blue, 1, Susi], [blue, 2, beton]…

最佳答案

您可以使用函数product():

from itertools import product

list(product(colors, numbers, material + names))

关于Python 迭代工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54824491/

相关文章:

Python:生成一个包含 5 列的多值真值表,其中每列可以取一组特定的值

python - 为没有写入权限的用户在网络驱动器上安装 Python

python 元组列表中的条形图

python - itertools.product 的更快替代品

python - itertools.imap vs 映射整个可迭代对象

python - Itertools : selecting in pandas based on previous three rows, 或列表中的前一个元素

python - 当随机列表返回空时,如何使用 itertools 和 fillvalue 压缩生成的列表?

Python 日志记录不适用于模块

python - 使用 re.match 匹配字符串不起作用

Python:减少字典中的列表