如何将二进制转换为符号表示?



如果数组由十进制数组成,表示为块('#')或空(' ')。例如,

A = [31,21,29,19,31]
代表
['11111', '10101', '11101', '10011', '11111']

我希望这个数组是这样的
['#####', '# # #', '### #', '# ##', '#####']

您可以使用字符串格式的列表推导式(这里是f-string)和翻译表:

A = [31,21,29,19,31]  
trans = str.maketrans('01', ' #')
# {48: 32, 49: 35}
out = [f'{x:b}'.translate(trans) for x in A]

输出:

['#####', '# # #', '### #', '#  ##', '#####']

最新更新