0

私はPython初心者です。

このようなテキストファイルを読みたい

1345..
245..
..456

そしてそれを整数のリストのリストに保存します。数字を保持し、ピリオドを0に置き換えたいのですが、どうすればよいですか?

編集:あいまいな出力仕様についてお詫びします

ps出力をリストのリストにしたい

[ [1,3,4,5,0,0],
[2,4,5,0,0],
[0,0,4,5,6]]
4

3 に答える 3

4
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'

于 2012-09-25T06:14:23.650 に答える
1
with open(file) as f:
   lis=[[int(y) for y in x.replace('.','0').strip()] for x in f]
于 2012-09-25T06:23:37.230 に答える
0

これが古典的な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
于 2012-09-25T07:55:59.667 に答える