私はPython初心者です。
このようなテキストファイルを読みたい
1345..
245..
..456
そしてそれを整数のリストのリストに保存します。数字を保持し、ピリオドを0に置き換えたいのですが、どうすればよいですか?
編集:あいまいな出力仕様についてお詫びします
ps出力をリストのリストにしたい
[ [1,3,4,5,0,0],
[2,4,5,0,0],
[0,0,4,5,6]]
私はPython初心者です。
このようなテキストファイルを読みたい
1345..
245..
..456
そしてそれを整数のリストのリストに保存します。数字を保持し、ピリオドを0に置き換えたいのですが、どうすればよいですか?
編集:あいまいな出力仕様についてお詫びします
ps出力をリストのリストにしたい
[ [1,3,4,5,0,0],
[2,4,5,0,0],
[0,0,4,5,6]]
with open('yourfile') as f:
lst = [ map(int,x.replace('.','0')) for x in f ]
これは、次のネストされたlist-compと同じものです。
lst = [ [int(val) for val in line.replace('.','0')] for line in f]
ここでは、整数に変換する前にをstr.replace
に変更していました。'.'
'0'
with open(file) as f:
lis=[[int(y) for y in x.replace('.','0').strip()] for x in f]
これが古典的なforループの形での答えです。これは初心者にとって理解しやすいものです。
a_list = []
l = []
with open('a') as f:
for line in f:
for c in line.rstrip('\n').replace('.', '0'):
l.append(int(c))
a_list.append(l)
#next line
l = []
print a_list