我需要访问数组的下一个元素以将其与上一个元素进行比较,尝试通过索引进行操作,但是索引超出范围
lista = [1,2,2,3,4,5,5,6,7,8]
for i in range(len(lista)):
if lista[i]==lista[i+1]: print("same number")
您可以将列表本身的位置偏移一个zip并完全避免使用索引:
lista = [1,2,2,3,4,5,5,6,7,8]
for a, b in zip(lista, lista[1:]):
if a == b:
print("same number", a, b)
打印:
相同编号2 2相同的数字5 5
您可以在执行此过程之前简单地检查列表的大小。检查下面的代码
for i in range(len(lista)):
if i == len(lista)-1:
print("end Process")
else:
a = lista[i]
b = lista[i+1]
if a == b:
print( str(a) + " and " + str(b) + " are the same number ")
或在for循环中使用len(lista)-1
for i in range(len(lista)-1):
a = lista[i]
b = lista[i+1]
if a == b:
print( str(a) + " and " + str(b) + " are the same number ")