Python 将字符串的每个字符转换为位列表,并将每个列表附加到列表中

Python 将字符串的每个字符转换为位列表,并将每个列表附加到列表中,python,python-3.7,Python,Python 3.7,我对python相当陌生,有人要求我创建一个函数,该函数迭代字符串并将每个字符转换为位列表,然后将该列表附加到列表中 每次我输入一个字符串时,我都会得到一个错误,即我输入了太多字符,而且只能输入一个字符。 有什么建议吗?IIUC: def string2bin(string): n=ord(string) bits1 = bin(n)[2:] bits2 = bits1.zfill(8) bits3 = list(bits2) bits4 = [ord(b

我对python相当陌生,有人要求我创建一个函数,该函数迭代字符串并将每个字符转换为位列表,然后将该列表附加到列表中 每次我输入一个字符串时,我都会得到一个错误,即我输入了太多字符,而且只能输入一个字符。 有什么建议吗?

IIUC:

def string2bin(string):
    n=ord(string)
    bits1 = bin(n)[2:]
    bits2 = bits1.zfill(8)
    bits3 = list(bits2)
    bits4 = [ord(bit) - ord('0') for bit in bits3]
    return bits4
然后:

是:


完整的错误消息可能会有所帮助。您的代码对单个字符有效吗?
def string2bin(string):
    return [bin(ord(i)) for i in string]
print(string2bin('abcd'))
['0b1100001', '0b1100010', '0b1100011', '0b1100100']