我是一个蟒蛇新手。
我想读一个类似这样的文本文件
1345..
245..
..456
并将其存储在整数列表中。我想保留数字并用0代替句号。我怎么做?
编辑: 为模糊的输出规范道歉
p.s我希望输出成为列表
[ [1,3,4,5,0,0],
[2,4,5,0,0],
[0,0,4,5,6]]
答案 0 :(得分: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'
。
答案 1 :(得分:1)
with open(file) as f:
lis=[[int(y) for y in x.replace('.','0').strip()] for x in f]
答案 2 :(得分: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