1

我想从列表中打印出某个值。这是我的代码:

rdf_f = open("substrate.txt")
for line in rdf_f:
    fields = line.split()
    if len(fields) > 1:
        x = fields[1]
    print(x[2])

如何正确使用print()命令打印出 的第三个值x?因为我得到一个错误:

IndexError: string index out of range

我知道如果x = [1,2,3,4,5,6],我的代码有效。但这x是一个垂直的列。当我使用print(x)时,输出是

0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
...
4

2 回答 2

4

您收到该错误是因为该索引处没有项目。所以你最好使用 for 循环。并打印所有项目。

for item in fields:
    print item

或者

检查字段列表的长度并相应地打印。

   if len(fields)>3:
      print fields[3]
于 2013-09-18T15:37:26.337 回答
1

您的列表是字段,而不是 x。也许您正在寻找的价值是 fields[2]

于 2013-09-18T15:42:46.360 回答