Python 关于无索引的循环的切片和排序的简单问题
如果我在做这个循环:Python 关于无索引的循环的切片和排序的简单问题,python,Python,如果我在做这个循环: for i in range(len(array)): for j in range(len(array)+1): # some code using array[i] and array[j] 有没有一种方法可以用这种格式做同样的事情 for element in array: for next_element in array: # some code using element and next_element 还是使用I,j格式更好?你是
for i in range(len(array)):
for j in range(len(array)+1):
# some code using array[i] and array[j]
有没有一种方法可以用这种格式做同样的事情
for element in array:
for next_element in array:
# some code using element and next_element
还是使用I,j
格式更好?你是说这样
for element in array:
for next_element in array[1:]:
# some code using elemnt
我想这完全取决于你的最终目标或个人喜好。我在这里做的是从第二个值开始第二个循环直到结束。如果需要索引,可以像这样使用enumerate()
:
for index_a, element in enumerate(array):
for index_b, next_element in enumerate(array[1:]):
# some code using the elements and the indexes
请注意,您的第一个循环将抛出一个索引错误,因为j在上一次迭代中超出了界限。i和j可以是您想要的任何东西,在for循环中,它将意味着相同的东西。希望我能正确理解你的问题。你所说的“更好”是什么意思?为什么第二个循环使用
len(array)+1
?最后一个数组[j]
将在列表之外。这是个人风格的问题,但我通常建议在不需要索引的情况下对列表中的元素使用:
。如果您需要索引,请在enumerate(list)中使用作为索引元素:
代码中的切片在哪里?
for element in array:
for next_element in array[1:]:
# some code using element and next_element