首页 > 解决方案 > 如何从python中的文本文件中读取一个int数组?

问题描述

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

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

请问我怎样才能得到一个int数组而不是字符串?

标签: pythonparsingmultidimensional-array

解决方案


使用这行代码:

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

你有字符串,但你想要整数,所以你必须将每个字符串解析成一个整数。

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


推荐阅读