gpt4 book ai didi

Python: boolean 列表到二进制字符串

转载 作者:行者123 更新时间:2023-12-05 00:00:46 25 4
gpt4 key购买 nike

在python中将 boolean 值列表转换为二进制字符串的最快方法是什么?

例如boolList2BinString([True, True, False]) = '0b110'。

另外,我如何将该二进制字符串转换为二进制文字?这会比从 boolean 列表立即转换为二进制文字需要更多时间吗?怎么做呢?

例如boolList2Bin([True, True, False]) = 0b110。

谢谢!

最佳答案

关于您的第一个问题,您可以使用 list comprehension * 和 conditional expression :

>>> def boolList2BinString(lst):
... return '0b' + ''.join(['1' if x else '0' for x in lst])
...
>>> boolList2BinString([True, True, False])
'0b110'
>>>

关于您的第二个,您不能“将该二进制字符串转换为二进制文字”。顾名思义, literals必须按字面输入:
>>> x = 0b110
>>>

也许您的意思是希望从输出中删除引号?如果是这样,请使用 print :
>>> def boolList2BinString(lst):
... return '0b' + ''.join(['1' if x else '0' for x in lst])
...
>>> boolList2BinString([True, True, False])
'0b110'
>>> print(boolList2BinString([True, True, False]))
0b110
>>>

*注:我故意选择使用列表推导式 str.join而不是生成器表达式,因为前者是 generally faster .

关于Python: boolean 列表到二进制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22056486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com