我有一个这样的文本文件:
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']]
我如何获得一个整数数组而不是字符串?
使用此行代码:
input_data = [list(map(int, line.split())) for line in txt_file]
您有字符串,但需要整数,因此必须将每个字符串解析为整数。
map
将作为第一个参数给出的函数应用于第二个参数中的所有元素,并返回一个迭代器。然后,您可以使用list
构造函数使用该迭代器。
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)