我是蟒蛇新手。
我想阅读一个文本文件,其中包含这样的内容
1345..
245..
..456
并将其存储在整数列表中。我想保留数字并将句点替换为 0。我该怎么做?
编辑:为模棱两可的输出规范道歉
ps 我希望输出是列表的列表
[ [1,3,4,5,0,0],
[2,4,5,0,0],
[0,0,4,5,6]]
我是蟒蛇新手。
我想阅读一个文本文件,其中包含这样的内容
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 ]
这与以下嵌套列表组合相同:
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