2017-04-10 70 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()))