例如,我有一个像这样的对象列表:
[[{1},{2},{3}],[{4},{5}],[{6},{7},{8}]]
我需要遍历所有对象,才能获得每个迭代对象,例如:
1,4,6
1,4,7
1,4,8
1,5,6
1,5,7
1,5,8
2,4,6
2,4,7
2,4,8
2,5,6
2,5,7
2,5,8
基本上,每个结果都像输入列表的子数组。
您可以轻松使用 itertools.product
>>> import itertools
>>> x = list(itertools.product([1,2,3],[4,5],[6,7,8]))
[(1, 4, 6), (1, 4, 7), (1, 4, 8), (1, 5, 6), (1, 5, 7), (1, 5, 8), (2, 4, 6), (2, 4, 7), (2, 4, 8), (2, 5, 6), (2, 5, 7), (2, 5, 8), (3, 4, 6), (3, 4, 7), (3, 4, 8), (3, 5, 6), (3, 5, 7), (3, 5, 8)]
请注意,您要查找的每个组合的输出都称为输入列表的笛卡尔积。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句