Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何遍历列表列表中的所有示例路径:[[1,2,3,],[1,2,3],…]_Python_List_Loops_Nested Loops_Nested Lists - Fatal编程技术网

Python 如何遍历列表列表中的所有示例路径:[[1,2,3,],[1,2,3],…]

Python 如何遍历列表列表中的所有示例路径:[[1,2,3,],[1,2,3],…],python,list,loops,nested-loops,nested-lists,Python,List,Loops,Nested Loops,Nested Lists,我需要能够在各种列表上执行嵌套循环,例如: A = [1,2,3] B = [1,2,3] C = [1,2,3] for a in A: for b in B: for c in C: #do something 我想要的是一些代码,这些代码可以获取[A]+[B]+[C]给出的列表,并在每个示例路径上循环(即,与上述嵌套循环所做的相同) 如果这段代码占用2或3行就可以了,因为在我的现实世界示例中,我不仅有A、B、C,还有D、E、F、G,,所以像上面这样做

我需要能够在各种列表上执行嵌套循环,例如:

A = [1,2,3]
B = [1,2,3]
C = [1,2,3]

for a in A:
   for b in B:
      for c in C:
         #do something
我想要的是一些代码,这些代码可以获取
[A]+[B]+[C]
给出的列表,并在每个示例路径上循环(即,与上述嵌套循环所做的相同)

如果这段代码占用2或3行就可以了,因为在我的现实世界示例中,我不仅有
A、B、C
,还有
D、E、F、G,
,所以像上面这样做嵌套循环太单调了。

您正在寻找三个列表的产品;使用可以将三个嵌套循环折叠为:

from itertools import product

for a, b, c in product(A, B, C):
因为这里的
A==B==C
,您可以将其进一步简化为:

for a, b, c in product(A, repeat=3):
如果有多个列表要生成产品,请将它们放在一个列表中,以便可以生成数量可变的输入列表的产品:

lists = [A, B, C, D, E]
for combination in product(*lists):

您需要来自itertools的笛卡尔积:

from itertools import product
for x in product(A,B,C):
   print x

A+B+C
将为您提供另一个列表,而不是列表列表。@wim已修复。我认为排列建议也行不通。我在寻找嵌套循环功能,而不是排列。