我的列表列表中的第一个列表看起来像这样
[['QGC', 'WPL', '110'], ['0', '1', '0', '16', '0', '0', '0', '0', '35.650418', '-78.313229', '100.000000', '1'], ['1', '0', ........
我想跳过for循环中的第一个列表,并将下一个列表的第一个元素与另一个列表进行比较。到目前为止我有这个代码,但不要认为这是正确或有效的,因为我不断收到以下错误
print(lines[0])
IndexError: list index out of range
代码:
for lines in allrecords[1:len(allrecords):1]:
for i, num in enumerate(linesOfFileToChange):
#print(num)
print(lines[0])
答案 0 :(得分:0)
怎么样:
for lines in allrecords:
for i, num in enumerate(lines[:1]):
# do something
答案 1 :(得分:0)
你可以这样做 -
for index, values in enumerate(allrecords):
if index == 0:
continue
value = values[0] if values else None
print value
或强>
new_records = allrecords[1:]
for values in new_records:
print next(iter(values), None)
答案 2 :(得分:0)
根据我的理解,您希望将列表与allrecords
中的数字进行比较。所以你想先将第一个列表与第二个列表进行比较,然后将第二个列表与第三个列表进行比较,将第三个列表与第四个列表进
allrecords = [
['QGC', 'WPL', '110'],
['1', '1', '0', '16', '0', '0', '0', '0', '35.650418'],
['2', '1', '0', '16', '0', '0', '0', '0', '35.650418'],
['3', '1', '0', '16', '0', '0', '0', '0', '35.650418'],
['4', '1', '0', '16', '0', '0', '0', '0', '35.650418'],
]
for idx_lst, lst in enumerate(allrecords[1:-1]):
next_lst = allrecords[idx_lst+2]
for lst_value, next_lst_value in zip(lst, next_lst):
# do some operations here
print lst_value, next_lst_value, "|" ,
print ""
输出:
1 2 | 1 1 | 0 0 | 16 16 | 0 0 | 0 0 | 0 0 | 0 0 | 35.650418 35.650418 |
2 3 | 1 1 | 0 0 | 16 16 | 0 0 | 0 0 | 0 0 | 0 0 | 35.650418 35.650418 |
3 4 | 1 1 | 0 0 | 16 16 | 0 0 | 0 0 | 0 0 | 0 0 | 35.650418 35.650418 |
因此,您可以在那里进行一些操作,而不是打印成对值。