列出索引错误Python

时间:2014-06-09 14:59:09

标签: python list

我似乎得到一个奇怪的列表索引超出范围错误:

Traceback (most recent call last):
File "./test.py", line 7, in <module>
print  column[2]
IndexError: list index out of range

对于这个简单的代码行,

DIR = 'path/to/test.vcf'

for line in open(DIR):
        column = line.split()
        print  column[2]

列输出:

['chr1', '19964150', '.', 'AAAAGAAAAAGAAAAAGAA', '.', '0', '.','END=19964169;MOTIF=AAAAAG;REF=3.16667;RL=19;RPA=.;RU=AAAAGA;VT=STR', 'GT:ALLREADS:AML:DP:GB:PL:Q:STITCH', '0/0:0|6:1/1:6:0/0:0:1:1']

列[0]输出:

chr1

但是任何其他整数索引都会给我一个错误 如果列是一个包含10 [9 by list logic]拆分字符串的列表,为什么我会收到此错误?

1 个答案:

答案 0 :(得分:3)

应该有与您的期望不符的行。 (行数较少/空行)。

保护访问第三列的行以避免异常。

DIR = 'path/to/test.vcf'

for line in open(DIR):
    column = line.split()
    if len(column) > 2:
        print column[2]