让我们看看我是否可以解释我在寻找什么。我想根据那些列表中列表的元素来打开列表(我知道,这是啰嗦!)。
我想要这个:
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]]]
我希望我表达了属性。我一直在寻找一些执行此操作的内置函数,但我一无所获。
提前谢谢你
答案 0 :(得分:4)
您正在寻找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)
如果你真的想要,可以将元组转换为列表并将元素包装在单元素列表中。