2017-04-10 6 views
-1

私は高校の最終的なプログラミングプロジェクトに助けが必要です。Pythonで文字列のリストをループする

まず、いくつかの数字を.txtファイルに保存し、それらを読み取ろうとします。しかし、私はこのリストを得る:

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

私はので、私はそれらの整数の代わりに文字列を作ることができます何とか、「\ n」を削除し、新しいリストに保存する方法が必要です。ここで

は私が

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()を使用することができます(salary.txtは、ファイルが保存されている数字にしている)、それをやって考えていた方法です。

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()))