Python, следующий элемент в массив - PullRequest
0 голосов
/ 10 марта 2020

Мне нужно получить доступ к следующему элементу массива, чтобы сравнить его с предыдущим, попробуйте сделать это по индексам, однако индекс выходит за пределы диапазона

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")

Ответы [ 2 ]

4 голосов
/ 10 марта 2020

Вы можете сжать список со смещением на единицу и избежать индексов в целом:

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

0 голосов
/ 10 марта 2020

Вы можете просто проверить размер списка перед выполнением процесса. проверьте код ниже

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 ")

или используйте len (lista) -1 в вашем для l oop

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 ")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...