如何阅读数字文本文件并将其转换为40x40列表?

时间:2012-11-08 23:59:06

标签: python list

我有一个这样的文本文件:

1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
1100111100111100111100111100111100111100
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000

如何将其转换为:

[
    [1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0],
    [1100111100111100111100111100111100111100],
    [0000000000000000000000000000000000000000],
    [0000000000000000000000000000000000000000],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [0000000000000000000000000000000000000000],
    [0000000000000000000000000000000000000000],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [0000000000000000000000000000000000000000],
    [0000000000000000000000000000000000000000],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [0000000000000000000000000000000000000000],
    [0000000000000000000000000000000000000000],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [0000000000000000000000000000000000000000],
    [0000000000000000000000000000000000000000],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [0000000000000000000000000000000000000000],
    [0000000000000000000000000000000000000000],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [1100111100111100111100111100111100111100],
    [0000000000000000000000000000000000000000],
    [0000000000000000000000000000000000000000]
]

我试过的代码是

content = open('filename').readlines;
for line in content:
    for c in line:
        if c in "\n":

3 个答案:

答案 0 :(得分:6)

with open('filename') as fp:
    data = [[int(c) for c in line.strip()] for line in fp]

应该做的伎俩。

答案 1 :(得分:1)

def split_up(line):
    return [int(ele) for ele in line.rstrip()]

with open('yourfile.txt') as f:
    your_list = [split_up(line) for line in f]

这是minitech的答案,他在评论中向我建议:

with open('yourfile.txt') as f:
    your_list = [map(int, line.rstrip()) for line in f]

答案 2 :(得分:1)

file = open('test.txt')
matrix = []
for line in file.readlines():
    num_list = []
    for num in line:
        if num == '\n':
            break
        else:
            num_list.append(int(num))
    matrix.append(num_list)

print matrix