python - 字符串列表到整数数组

标签 python arrays python-3.x numpy

从一个字符串列表中,像这样:

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

关于python - 字符串列表到整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52935916/

相关文章:

python - 使用生成器表达式返回多个值

Python、Unicode 和 Windows 控制台

python Pandas : Drop rows from data frame if list of string value == [none]

javascript在平均计算中排除一些值

ios - 在 if 条件下将 NSArray 变成 NSMutableArray

python - 如何了解随机森林中特定样本的特征及其贡献

python - Pandas 数据框 : keep rows with duplicates

python - 将列表写入具有某些自定义格式的文件

python - 在相似的多个按钮之间单击时更改按钮颜色

javascript - 检查数组是否有用户输入的值