python3:我可以获得'one'3d list的笛卡尔积吗?

时间:2018-05-21 06:35:40

标签: python python-3.6

我的列表如下所示

[['a'], ['b'], [[1], [2], [3]], ['d']]

我需要

[['a'], ['b'], [1], ['d']][['a'], ['b'], [2], ['d']][['a'], ['b'], [3], ['d']]

我看到很少发帖并发现了itertools.product,但我认为这需要与参数相同的多个列表。

有没有办法得到结果?

1 个答案:

答案 0 :(得分:0)

您可以将itertools.product与星号运算符一起使用(请参阅here)。

那看起来像

from itertools import product
A = [['a'], ['b'], [[1], [2], [3]], ['d']]

for a in product(*A):
   print(a)

# yields
# ('a', 'b', [1], 'd')
# ('a', 'b', [2], 'd')
# ('a', 'b', [3], 'd')