如何在Python数组中迭代一些元素?

Kin*_*Kin 2 python python-2.7

例如,我有一个像这样的对象列表:

[[{1},{2},{3}],[{4},{5}],[{6},{7},{8}]]
Run Code Online (Sandbox Code Playgroud)

我需要遍历它们以获得每个迭代对象,例如:

 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
Run Code Online (Sandbox Code Playgroud)

基本上每个结果都像输入列表的子数组.

mir*_*ulo 7

你可以轻松使用 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)]
Run Code Online (Sandbox Code Playgroud)

请注意,您要查找的每个组合的输出称为输入列表的笛卡尔积.