python - 如何从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数组而不是字符串?
解决方案
使用这行代码:
input_data = [list(map(int, line.split())) for line in txt_file]
你有字符串,但你想要整数,所以你必须将每个字符串解析成一个整数。
map
将作为第一个参数给出的函数应用于第二个参数中的所有元素,并返回一个迭代器。然后,您使用list
构造函数使用该迭代器。
推荐阅读
- java - 返回两个数组混淆矩阵
- python - Pyvis 图不会停止移动
- python - ValueError:尝试同时迭代两个列表时解包的值太多(预期为 2)
- c# - Selenium C# ngwebelement 超时
- graphql - 下载 GraphQL Schema GitHub
- python - VSCode:Jupyter Notebook 的代码镜头不显示调试选项或“逐行运行代码”
- c - 解释 c 中 qsort() 函数中的类型转换?
- android - Flutter 应用间通信使用服务
- spring-boot - Spring-boot Api 未启动
- javascript - 由 Javascript 添加时,CSS 动画不起作用