JOS*_*ngh 7 python loops for-loop nested-loops
我有一个类似的清单:
[[16777230, 0], [16777226, 1], [16777252, 2], [16777246, 0]]
Run Code Online (Sandbox Code Playgroud)
我想在 python 中为我的操作在循环(嵌套循环)中创建一个循环,这样内循环将始终从外循环的下一个元素开始。
例如,外循环将在每次迭代中遍历列表中从索引 0 到 3 的所有元素。但在外循环的第一次迭代中,内循环将从索引 1 开始并在索引 3 处结束。那么,在外循环的第二次迭代中,内循环应该遍历索引2到索引3。 依此类推... 外循环的最后一次迭代应该使内循环从索引n遍历到索引n,基本上只有最后一个元素,在本例中为索引 3 到索引 3。
问题是我在遍历时删除了列表的元素。因此,它在使用范围函数进行遍历时会产生列表索引超出范围等问题。
如何构建这些内循环和外循环?
我试过这个,但似乎不起作用:
for sub_list1 in yx:
index_sl1 = yx.index(sub_list1)
for sub_list2 in yx[index_sl1+1:]:
Operations...
Run Code Online (Sandbox Code Playgroud)
帮助将不胜感激。谢谢!!
试试这个代码!
对于外循环的每次迭代,您需要将内循环从1增量迭代到列表的范围。
代码 :
arr = [1,5,2,0,4,2,7]
for i in range(0,len(arr)):
print("Iteration # : ", i+1)
for j in range(i+1,len(arr)):
print("Outer loop value : " , arr[i] , " Inner loop value : " , arr[j])
Run Code Online (Sandbox Code Playgroud)
输出 :
Iteration # : 1
Outer loop value : 1 Inner loop value : 5
Outer loop value : 1 Inner loop value : 2
Outer loop value : 1 Inner loop value : 0
Outer loop value : 1 Inner loop value : 4
Outer loop value : 1 Inner loop value : 2
Outer loop value : 1 Inner loop value : 7
Iteration # : 2
Outer loop value : 5 Inner loop value : 2
Outer loop value : 5 Inner loop value : 0
Outer loop value : 5 Inner loop value : 4
Outer loop value : 5 Inner loop value : 2
Outer loop value : 5 Inner loop value : 7
Iteration # : 3
Outer loop value : 2 Inner loop value : 0
Outer loop value : 2 Inner loop value : 4
Outer loop value : 2 Inner loop value : 2
Outer loop value : 2 Inner loop value : 7
Iteration # : 4
Outer loop value : 0 Inner loop value : 4
Outer loop value : 0 Inner loop value : 2
Outer loop value : 0 Inner loop value : 7
Iteration # : 5
Outer loop value : 4 Inner loop value : 2
Outer loop value : 4 Inner loop value : 7
Iteration # : 6
Outer loop value : 2 Inner loop value : 7
Iteration # : 7
Run Code Online (Sandbox Code Playgroud)