这部分代码应该创建一个包含文本文件中第二列值的列表,但它需要第二个字母。有谁知道我的问题是什么?
TEXTFILE
opi 60
kid 60
pou 60
ret 60
kai 60
bob 100
for line in lst:
line.split(' ')
fire.append(int(line[1]))
print(line[1])
答案 0 :(得分:1)
你可能想做这样的事情:
mylist = []
for line in file:
firstcolval, secondcolval = line.split()
mylist.append(int(firstcolval))
答案 1 :(得分:1)
这也应该有用
import csv
for line in csv.reader(open("datafile"), delimiter=" "):
fire.append(int(line[1]))
print(line[1])
可选地
from operator import itemgetter
import csv
f=csv.reader(open("datafile"),delimiter=' ')
fire+=[int(x[1]) for x in f]
答案 2 :(得分:0)
line.split(' ')
您的错误在那里,split
不会拆分line
,但会返回分割线。所以你需要做的是
columns = line.split(' ')
并改为使用列
答案 3 :(得分:0)
你可以用一个简单的衬垫来做到这一点。
fire = [int(b) for a, b in line.split(" ") for line in lst]
答案 4 :(得分:0)
好的,因为split会创建一个新对象(包含至少一个元素的列表),你应该这样做:
for line in lst: lc = line.split(' ') fire.append(int(lc[1])) print lc[1]
但正如某人已经建议的那样,你可以用一行列表理解来做到这一点:
newlist = [int(current[1]) for current in line.split(" ") for line in lst]
其中读取如下:对于lst中的行,我们用空格分割行,并将索引为1的元素从拆分行(current [1])转换为int,添加到新列表中。