btr*_*lin 2 python iteration loops for-loop
因此我在python中发现的一个问题是,创建每个都有自己索引的嵌套循环对用户不是很友好.
我将如何编写与此Java代码相当的Python:
for(int i = 0; i < array.length-2; i++){
for(int j = i+1; j < array.length-1; j++){
for(int k = j+1; k < array.length; k++){
Run Code Online (Sandbox Code Playgroud)
请注意我如何为每个嵌套循环引用前一个的计数器值.我试过用:
for idx, val in enumerate(nums[:-2]):
但似乎idx总是从0开始,而不是从前任的索引值开始.除了维护单独的计数器变量之外,还有更好的解
从[Python 3]:枚举(iterable,start = 0)(强调是我的):
enumerate()返回的迭代器的__next __()方法返回一个包含count的元组(从start开始,默认为0)和迭代迭代得到的值.
例:
num = [0, 2, 4, 6, 8]
start = 2
for idx, val in enumerate(num[start:], start=start):
print("Index: {}, Element: {}".format(idx, val))
Run Code Online (Sandbox Code Playgroud)
输出:
Run Code Online (Sandbox Code Playgroud)Index: 2, Element: 4 Index: 3, Element: 6 Index: 4, Element: 8