繁体   English   中英

将列表解压缩为几种组合

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM