Vic*_*cky 1 python combinations tuples list python-3.x
我有一个这样的清单..
[
[
("a", 1)
] ,
[
("b", 2)
],
[
("c", 3),
("d", 4)
],
[
("e", 5),
("f", 6),
("g", 7)
]
]
Run Code Online (Sandbox Code Playgroud)
我试图从此列表数据中获取所有可能的组合。
我的预期输出应如下所示。
[
[
("a", 1),
("b", 2),
("c", 3),
("e", 5)
],
[
("a", 1),
("b", 2),
("c", 3),
("f", 6)
],
[
("a", 1),
("b", 2),
("c", 3),
("g", 7)
],
[
("a", 1),
("b", 2),
("d", 4),
("e", 5)
],
[
("a", 1),
("b", 2),
("d", 4),
("f", 6)
],
[
("a", 1),
("b", 2),
("d", 4),
("g", 7)
],
]
Run Code Online (Sandbox Code Playgroud)
我尝试使用 itertools.combinations 但无法获得预期的输出,不确定我缺少什么,无法找到逻辑,请帮忙。提前致谢。
如果您需要任何其他信息,请告诉我,
提前致谢,
你想要itertools.product,没有itertools.combinations。每个元组列表都应该是 的一个参数product,因此请使用*运算符将起始列表的每个元素作为参数传递:
>>> import itertools
>>> list(itertools.product(*lists_of_tuples))
[(('a', 1), ('b', 2), ('c', 3), ('e', 5)), (('a', 1), ('b', 2), ('c', 3), ('f', 6)), (('a', 1), ('b', 2), ('c', 3), ('g', 7)), (('a', 1), ('b', 2), ('d', 4), ('e', 5)), (('a', 1), ('b', 2), ('d', 4), ('f', 6)), (('a', 1), ('b', 2), ('d', 4), ('g', 7))]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |