0

我是蟒蛇新手。

我想阅读一个文本文件,其中包含这样的内容

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 ]

这与以下嵌套列表组合相同:

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 回答