我有一个包含内部列表(从逗号分隔的文件读取)的列表,我想获取其中的第二项。例如
x = [[2,3,4][5,6,7]]
我想要3和6。简单的事情,我以为我知道怎么做。我知道我可以试着用下面的方法得到第二个数字:
fp = open('random.txt')
x = list(fp.read().split("\n"))
x.pop(0) #header line
x = [item.split(",") for item in x]
print([item[1] for item in x])
我的问题是,我可以通过做
item[0]
在上面的代码中,这很好。但是,如果我尝试
item[1]
我得到一个列表索引超出范围错误。我试着在正常的for循环中测试我的列表是否正确。
for item in x:
print(item[1])
结果很好,现在我知道如果我真的想使用第二个版本的话,我也可以使用它,但是我想知道为什么第一个版本在第二个版本中运行良好时会出现这个错误?
编辑:包括我的其余代码