从python中的文本文件构建List

时间:2012-09-25 06:13:08

标签: python

我是一个蟒蛇新手。

我想读一个类似这样的文本文件

1345..
245..
..456

并将其存储在整数列表中。我想保留数字并用0代替句号。我怎么做?

编辑: 为模糊的输出规范道歉

p.s我希望输出成为列表

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

3 个答案:

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