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