【发布时间】:2016-02-17 00:14:25
【问题描述】:
我有一个列表,比如说
list1 = [('A',[R]),
('B',['A','C']),
('C',['B']),
('B',[]),
('C',['D']),
('D',['C'])]
我正在尝试将第二个列表 ['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]
-
不,我查过还是一样
标签: list python-2.7 python-3.x tuples