Python 列表索引超出范围,有人知道吗?

Python 列表索引超出范围,有人知道吗?,python,list,indexing,range,out,Python,List,Indexing,Range,Out,我正在使用tabel.txt文件,但遇到了问题。我想显示第四列的数据,但我得到了 error: list index out of range 有人能帮我吗 f = open("tabel.txt", 'r') for line in f: a=line.split("\t") print(a[3]) 您可以这样做: f = open("tabel.txt", 'r') for line in f: a=line.split("\t") i

我正在使用tabel.txt文件,但遇到了问题。我想显示第四列的数据,但我得到了

error: list index out of range
有人能帮我吗

f = open("tabel.txt", 'r') 

for line in f:

a=line.split("\t")    
    print(a[3])    
您可以这样做:

f = open("tabel.txt", 'r') 
for line in f:
    a=line.split("\t")  
    if len(a)>3:  
        print(a[3])    
    else:
        print a
通过这种方式,您可以看到这一行的问题所在。
正如其中一条评论所说,99%这是最后一行

如前所述-很可能您在某个时候遗漏了第4列。这里的良好做法是使用try.。除非您不确定您的数据:

f = open("tabel.txt", 'r') 
i = 0
for line in f:

    a=line.split("\t")   
    try: 
        print(a[3]) 
    except IndexError:
        print("Empty field at line %s" % str(i))    
    i += 1

其中一行没有3列,因此引发异常。我打赌这是最后一个只有换行符的。塔达!您正在按制表符拆分,所以可能没有3列?第三栏无论如何都是[2]栏。@ElmoVanKielmo这是他缺少的第四栏…@OBP你当然是对的:可能是第四栏的副本,他缺少了第四栏,为真理修正:D@karlfel如果这是您想要的,请随意接受…: