python - 从命令行读取输入将其存储到二维数组中,而不是字符串输入
问题描述
with open(sys.argv[1], 'r') as f:
a= f.readlines() #reads the file's lines
a = [x.strip() for x in a] #ignores the newline char
print (a)
使用这个函数,当我打印数组时,我有一个输出:
['+X..XX....-', '.X..X..X-..', '.X.........', '...XX......', 'XXX.+X.....', '..X.....XXX', '...XXX..X-.', '.-.....X...']
如何转换上述函数以使其返回
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
像这样,一个元素数组而不是字符串数组
解决方案
In[3]: with open('test.txt', 'r') as f:
...: result = [list(line.rstrip()) for line in f]
...:
In[4]: result
Out[4]:
[['+', 'X', '.', '.', 'X', 'X', '.', '.', '.', '.', '-'],
['.', 'X', '.', '.', 'X', '.', '.', 'X', '-', '.', '.'],
['.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', 'X', 'X', '.', '.', '.', '.', '.', '.'],
['X', 'X', 'X', '.', '+', 'X', '.', '.', '.', '.', '.'],
['.', '.', 'X', '.', '.', '.', '.', '.', 'X', 'X', 'X'],
['.', '.', '.', 'X', 'X', 'X', '.', '.', 'X', '-', '.'],
['.', '-', '.', '.', '.', '.', '.', 'X', '.', '.', '.']]
推荐阅读
- ios - 在 SwiftUI 中更改 NavigationView 的背景颜色
- php - laravel 7.15 Undefined offset: 38 Maatwebsite Excel 导入导出
- python - 如何在 Django 中传递 Ajax URL 的参数?
- php - 如何使用带有 JSON_decode 和 JSON_encode 的 PHP 在数组中嵌套字典的值端
- java - 如何在android项目中使用Room
- c# - ASP.NET Core 身份登录和锁定
- java - 算法是否最优,是否满足指定的复杂度?
- javascript - 使用 twit npm 从 user_timeline 获取最新推文
- ipv6 - quic 会根据 MTU 数据包大小进行动态自适应,特别是在 ipv6 中
- pagespeed-insights - 为什么 Google Page Speed 洞察力得分与 GTMetrix、WebPageTest.org、Pingdom 等如此不同?