我有一个列表列表,例如:
[
[
[ 1, 2, 3 ], [ 3, 2, 1 ], [ 3, 1, 2 ]
],
[
[ 4, 5, 6 ], [ 6, 4, 5 ]
],
[
[ 8, 9, 10 ], [ 10, 8, 9 ], [ 10, 9, 8 ]
]
]
我需要找到这些中间列表的所有排列,垂直作为列......
[
[
[ 1, 4, 8 ], [ 1, 4, 10 ], [ 1, 4, 10 ],
[ 1, 6, 8 ], [ 1, 6, 10 ], [ 1, 6, 10 ],
[ 3, 4, 8 ], [ 3, 4, 10 ], [ 3, 4, 10 ],
[ 3, 6, 8 ], [ 3, 6, 10 ], [ 3, 6, 10 ],
[ 3, 4, 8 ], [ 3, 4, 10 ], [ 3, 4, 10 ],
[ 3, 6, 8 ], [ 3, 6, 10 ], [ 3, 6, 10 ]
],
...
]
很难解释,但基本上,每个具有 3 个不同数字的列表都是每行中可能的“行”......所以第 0 行可能是 1,2,3 或 3,2,1 或 3,1,2 ...
我需要做的是找到每列的所有可能列,这意味着循环遍历行的每个可能组合并从该行组合生成列。
如果有人知道我的意思并且可以更好地表达它,或者可以帮助我解决它,请做!我觉得 itertools.permutations 会帮助我,但我不知道如何告诉它从每个可能的行中选择 1 个......
谢谢