我有一个文本文件包含:
5
1 2 3 4 5
我想用python把内容读入一个列表。我面临的问题是我想忽略文件第一行的数字5。数字5表示它下面的元素数,即5。相反,我只想在列表中添加1、2、3、4、5。你知道吗
[1,2,3,4,5]
我试过这个:
file = open('text.txt','r')
textfile = file
lst = []
for line in textfile:
line = line.strip().split(',')
line[1] = int(line[1]) #convert 1,2,3,4,5 into integers
lst.append(line[1])
print(lst)
我得到的错误是“索引超出范围”。你知道吗
只想在@DyZ answer中添加一个小的修正 如果我理解正确的话,您希望列表
[1,2,3,4,5]
而不是['1,2,3,4,5']
如果将
line.split(',')
与int
一起使用,将导致ValueError - invalid literal for int()
您可以尝试以下方法:
输出:
在循环前面添加行
next(textfile)
。它将丢弃文件中的第一行。你知道吗接下来,您不需要将行转换为intereg数字。只转换第二个元素
line[1]
。正确的转换方法是:或者
总而言之,您的“完美”计划如下所示:
相关问题 更多 >
编程相关推荐