У меня есть список из списка, СкажемPython: Сравнить элементы списка с предыдущим и следующим списком элементов?
list1 = [('A',[R]),
('B',['A','C']),
('C',['B']),
('B',[]),
('C',['D']),
('D',['C'])]
Я пытаюсь сравнить 2-й элементы 2-го списка ['A','C']
с предыдущим списком первого элементом 'A'
и следующим списком первого элемента ['C']
. Аналогично, я хочу сравнить все два элемента списка с первым элементом предыдущего и следующего списка. То, что я пытался до сих пор
for i, items in enumerate (list1):
for j in items[1]:
if len(j)>0:
if i !=0 and j == items[i-1][0]:
print(j,items[i-1][0],'equal')
if i < len(list1) and j==items[i+1][0]:
print(j,items[i+1][0],'equal')
Это показывает ошибку как " tuple index out of range "
. Пожалуйста, поправьте меня, где я ошибаюсь? Ожидаемый результат как
(A,A,equal)
(C,C,equal)
(B,B,equal)
(B,B,equal)
(D,D,equal)
(C,C,equal)
Я предполагаю, что ошибка указана в этом элементе кода [i + 1] [0] – Ray
Нет, я проверил, он все еще говорит то же самое – Rangooski