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

2024-04-25 12:06:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个文本文件:

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":

Tags: 代码inforiflineopencontentfilename
3条回答
with open('filename') as fp:
    data = [[int(c) for c in line.strip()] for line in fp]

应该会成功的。你知道吗

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]
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

相关问题 更多 >