Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t将字符串列表转换为二进制_Python_Python 3.x - Fatal编程技术网

Python Can';t将字符串列表转换为二进制

Python Can';t将字符串列表转换为二进制,python,python-3.x,Python,Python 3.x,我试图通过使用转换一个列表,例如mylist=['apple','spineapple'] [''.join(format(i, 'b') for i in bytearray(mylist, encoding ='utf-8'))] 但是在没有字符串参数的情况下接收“编码或错误”。预期的结果是 ['11000011110000111000011011001100101', '11100001101001110111011001011100001111000011100001101100110

我试图通过使用转换一个列表,例如mylist=['apple','spineapple']

[''.join(format(i, 'b') for i in bytearray(mylist, encoding ='utf-8'))]
但是在没有字符串参数的情况下接收“编码或错误”。预期的结果是

['11000011110000111000011011001100101', '111000011010011101110110010111000011110000111000011011001100101']

如何在列表中以二进制形式获得结果

我认为您将某些函数应用于错误的对象。您正在寻找以下内容:

mylist = ['apple', 'pineapple']

[''.join(format(b, 'b') for b in bytearray(i, 'utf-8')) for i in mylist]
# ['11000011110000111000011011001100101', 
#  '111000011010011101110110010111000011110000111000011011001100101']
或者再短一点:

[''.join(map('{:b}'.format, bytearray(i, 'utf-8'))) for i in mylist]
必须将
bytearray
应用于列表中的每个字符串,而不是列表本身。接下来,必须格式化每个字节并连接结果字符串