python - 字符串列表到整数数组
问题描述
从字符串列表中,如下所示:
example_list = ['010','101']
我需要得到一个整数数组,其中每一行是每个字符串,是一列中的每个字符,如下所示:
example_array = np.array([[0,1,0],[1,0,1]])
我已尝试使用此代码,但它不起作用:
example_array = np.empty([2,3],dtype=int)
i = 0 ; j = 0
for string in example_list:
for bit in string:
example_array[i,j] = int(bit)
j+=1
i+=1
谁能帮我?我正在使用 Python 3.6。
预先感谢您的帮助!
解决方案
如果所有字符串的长度相同(这对于构建连续数组至关重要),则用于view
有效地分隔字符。
r = np.array(example_list)
r = r.view('<U1').reshape(*r.shape, -1).astype(int)
print(r)
array([[0, 1, 0],
[1, 0, 1]])
你也可以走列表理解路线。
r = np.array([[*map(int, list(l))] for l in example_list])
print(r)
array([[0, 1, 0],
[1, 0, 1]])
推荐阅读
- javascript - 使用 Javascript 查找超级数字,CMD 中出现 NaN 错误
- python - 如何在不通过表单验证的情况下在 UpdateView 中进行验证?
- android - android studio 3.3 中的“包括 C++ 支持”选项在哪里?
- php - 如何修复模型之间的关系错误?
- laravel - Laravel:在单个视图中返回 2 个集合
- wordpress - 尾随斜杠与非尾随导致重复页面的问题
- javascript - 使用私有 IP 从 Google Functions 连接到 Cloud SQL
- regex - 设计:在不断创建和删除表时运行 pg_dump
- java - Spring项目中的org.springframework.beans.NotWritablePropertyException
- html - 如何使用 CSS 实现这种布局?