如何将文本文件中的数字读取为列表中的数字?

5

我有一个文本文件,每行都有数字(只有数字)。我的color.txt长这样:

3
3
5
1
5
1
5

当我使用以下方法将其读取为列表时:
f=open('D:\\Emmanu\\project-data\\color.txt',"r")
    for line in f:
        g_colour_list.append(line.strip('\n'))
    print g_colour_list

输出的样式如下:
['3', '3', '5', '1', '5', '1', '5']

但我想要它变成:


[3,3,5,1,5,1,5]

我该如何在一行代码中实现这个操作?
g_colour_list.append(line.strip('\n'))

所以...你有一个字符串列表,想要一个整数列表。如果你找一下,我敢打赌你能找到将数字字符串转换为整数的指令。 - larsks
可能是如何在Python中将字符串转换为整数?的重复问题。 - user2201041
5个回答

2

将字符串转换为整数:

g_colour_list.append(int(line.strip('\n')))

1
不需要去掉空格,因为 int() 会忽略前导和尾随空格。 - Martijn Pieters

1

在你的line.strip()调用周围包装一个对Python的int函数的调用,该函数将数字字符串转换为数字:

f=open('D:\\Emmanu\\project-data\\color.txt',"r")
    for line in f:
        g_colour_list.append(int(line.strip('\n')))
    print g_colour_list

1

一种可能的解决方案是在追加时将字符串转换为整数。您可以这样做:

g_colour_list.append(int(line.strip('\n')))

如果您认为您将得到浮点数,那么您应该使用float()而不是int()

0
for line in f:
    g_colour_list.append(int(line.strip('\n')))

你可以使用 int(s) 将字符串 s 解析为整数。

0
你可以将它强制转换为整数类型,方法如下:
f = open('color.txt',"r")
g_colour_list=[]

for line in f:
    g_colour_list.append(int(line.strip('\n')))

print (g_colour_list)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接