2017-04-10 65 views
-1

我需要帮助完成最终的高中项目。循环播放python中的字符串列表

首先我将一些数字保存到.txt文件中,并尝试读取它们。但后来我得到这个列表:

['360\n', '330\n', '482\n'] 

我需要一种方法来删除“\ n”,不知何故,并将其保存到一个新的列表,以便我可以让他们整数,而不是字符串。

这里是我是怎么想的做的(salary.txt是该文件是数字保存到)

target = open("salary.txt", "r") 
time = target.readlines() 
for i in time: 
    i.replace("\n", "", 1) 
+2

字符串是不可变的; '.replace()'返回一个你丢弃的新副本。 – 9000

+2

有一个叫做'int'的晦涩的内建函数,可能试试吧。 – timgeb

+1

'i.replace(...)'返回字符串的一个副本,并且不会改变字符串本身(python中的字符串是不可变的)。 – syntonym

回答

3

你可以使用strip()末除去换行符。

times = ['360\n', '330\n', '482\n'] 
int_times = [int(time.strip()) for time in times] 
# [360, 330, 482] 

但实际上,你并不需要它,因为int("3\n")已经3

int_times = [int(time) for time in times] 
# [360, 330, 482] 

这意味着你也可以这样写:

int_times = map(int, times) 
+0

我仍然喜欢映射时,可调用的映射已经存在。 +1 – timgeb

0

这里是我会怎么做。

salaries = [] 
with open("salary.txt") as time: 
    for i in time: 
     salaries.append(int(i.strip()))