如何从python中的文本文件读取int数组?

问题描述 投票:1回答:2

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

0 0 1
1 1 1
1 0 1
0 1 0

而且我想得到一个像这样的二维数组:

[[0,0,1],
[1,1,1],
[1,0,1],
[0,1,0]]

我尝试过:

with open("Input_Data.txt", "r") as txt_file:
    input_data = [line.split() for line in txt_file]
print(input_data)

但返回:

[['0', '0', '1'], ['1', '1', '1'], ['1', '0', '1'], ['0', '1', '0']]

我如何获得一个整数数组而不是字符串?

python parsing multidimensional-array
2个回答
1
投票

使用此行代码:

input_data = [list(map(int, line.split())) for line in txt_file]

您有字符串,但需要整数,因此必须将每个字符串解析为整数。

map将作为第一个参数给出的函数应用于第二个参数中的所有元素,并返回一个迭代器。然后,您可以使用list构造函数使用该迭代器。


0
投票
with open("Input_Data.txt", "r") as txt_file:
    input_data = [[int(x) for x in line.split()] for line in txt_file]
print(input_data)
© www.soinside.com 2019 - 2024. All rights reserved.