将数组的条目转换为列表

时间:2016-09-22 11:53:39

标签: python arrays list

我有numpy数组,哪些条目由0或1组成。例如A = [ 0. 0. 0. 0.]B= [ 0. 0. 0. 1.]C= [ 0. 0. 1. 0.]现在我想将它们转换为列表:L =['0000', '0001', '0010']。有没有简单的方法呢?

2 个答案:

答案 0 :(得分:1)

您可以使用join像这样

将每个列表转换为字符串
def join_list(x):
    return ''.join([str(int(i)) for i in x])

A = [0, 0, 0, 0]
B = [0, 0, 0, 1]
C = [0, 0, 1, 0]

print(join_list(A))
# 0000

您可以将它们全部添加到带有for循环

的新列表中
new_list = []
for l in [A, B, C]:
    new_list.append(join_list(l))

print(new_list)
# ['0000', '0001', '0010']

答案 1 :(得分:1)

您需要转为str(int(ele)),然后加入:

["".join([str(int(f)) for f in arr]) for arr in (A, B, C)]

或者因为你似乎有numpy数组:

["".join(map(str, arr.astype(int))) for arr in (A,B,C)]

或者两次使用astype:

["".join(arr.astype(int).astype(str)) for arr in (A,B,C)]