python line.split文本文件语义错误

python line.split文本文件语义错误,python,string,Python,String,这段代码应该创建一个列表,其中包含文本文件中第二列的值,但它使用第二个字母。有人知道我的问题是什么吗 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]) 您的错误就在这里,拆分不会拆分

这段代码应该创建一个列表,其中包含文本文件中第二列的值,但它使用第二个字母。有人知道我的问题是什么吗

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])  
您的错误就在这里,
拆分
不会拆分
,而是返回一个行拆分。所以你需要做的是

columns = line.split(' ')

并使用列来代替

您可能希望执行以下操作:

mylist = []

for line in file:
    firstcolval, secondcolval = line.split()
    mylist.append(int(firstcolval))
这也应该起作用

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]

你可以用一个简单的一行

fire = [int(b) for a, b in line.split(" ") for line in lst]

好的,既然split创建了一个新对象(至少包含一个元素的列表),您应该执行以下操作:

for line in lst: lc = line.split(' ') fire.append(int(lc[1])) print lc[1] 对于lst中的线: lc=行分割(“”) fire.append(int(lc[1])) 打印信用证[1] 但正如已经有人建议的那样,您可以在一行中使用列表理解来完成:

newlist = [int(current[1]) for current in line.split(" ") for line in lst] newlist=[int(current[1])表示行中的当前值。拆分(“”)表示行中的lst] 这类似于:在lst中,我们用空格分隔行,并将索引为1的元素从拆分行(当前[1])转换为int添加到新列表中

newlist = [int(current[1]) for current in line.split(" ") for line in lst]