如何将二进制数字分解为单个数字以组成列表(python)

问题描述 投票:-1回答:1

我想用二进制数的单独数字组成列表,但它... shows this

>>> [int(x) for x in bin(123)]
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "<interactive input>", line 1, in <listcomp>
ValueError: invalid literal for int() with base 10: 'b'
>>> 
python split binary bit
1个回答
0
投票
[bin提供二进制数的字符串表示形式,并带有0b部分,表明这是一个二进制数。

>>> bin(123) '0b1111011'

转换回整数需要使用字符串切片跳过此部分:

>>> [int(x,2) for x in bin(123)[2:]] [1, 1, 1, 1, 0, 1, 1]

请注意,以2为基数的解析实际上不是必需的。您可以使用bool来获取真实的布尔值:

>>> [bool(x) for x in bin(123)[2:]] [True, True, True, True, True, True, True]

© www.soinside.com 2019 - 2024. All rights reserved.