[英]Unzip list into several combinations
让我们看看我是否可以解释我要寻找的东西。 我想根据是列表中列表的那些元素解开列表(怪异,我知道!)。
我要这个:
a = [[1],[2],[5],[4,6],[3]]
转换为:
b = [[[1],[2],[5],[4],[3]],[[1],[2],[5],[6],[3]]]
并也适用于:
a = [[1],[2,3],[5],[4,6],[3]]
为实现:
b = [[[1],[2],[5],[4],[3]],[[1],[2],[5],[6],[3]],[[1],[3],[5],[4],[3]],[[1],[3],[5],[6],[3]]]
我希望我表达得恰当。 我一直在寻找执行此操作的内置函数,但没有发现任何问题。
提前谢谢你
您正在寻找itertools.product
:
>>> import itertools
>>> a = [[1],[2,3],[5],[4,6],[3]]
>>> for tup in itertools.product(*a):
... print tup
...
(1, 2, 5, 4, 3)
(1, 2, 5, 6, 3)
(1, 3, 5, 4, 3)
(1, 3, 5, 6, 3)
您可以将元组转换为列表,然后将元素包装在1元素列表中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.