我是Python的新手,需要用二进制代码将整数数组转换为一个。
s_str = "test"
s_acii = [ord(c) for c in s_str]
print(s_acii)
>> [116, 101, 115, 116]
我需要什么:
>> [1110100, 1100101, 1110011, 1110100]
谢谢!
答案 0 :(得分:1)
您可以使用bin
built-in function将整数转换为二进制表示形式:
>>> l = [116, 101, 115, 116]
>>> [bin(i) for i in l]
['0b1110100', '0b1100101', '0b1110011', '0b1110100']
如果您不想使用0b
前缀,请使用带有binary integer representation的字符串格式:
>>> l = [116, 101, 115, 116]
>>> ["{0:b}".format(i) for i in l]
['1110100', '1100101', '1110011', '1110100']
答案 1 :(得分:0)
您可以将str.format
的{{1}}方法用作演示类型:
b
这将输出:
print('[{}]'.format(', '.join(map('{:b}'.format, s_acii))))