小编Ple*_*yos的帖子

如何将布尔值列表转换为单个 int,其中每个布尔值被解释为一个位?

我有一个 s 列表bool,我想将其转换为单个int. 例如:[True, True, False, True, False]-> 01011 2 -> 11 10

我发现这个问题:How do I conversion a boolean list to int? 但它是用 C# 编写的,这对我没有帮助。

我的第一次尝试是做

def bools2int(bools):
    n = 0
    for b in bools[::-1]:
        n *= 2
        n += b
    return n
Run Code Online (Sandbox Code Playgroud)

这有效。

但是有没有更Pythonic的方法来做到这一点?可以一行完成吗?

python int boolean list type-conversion

3
推荐指数
1
解决办法
1247
查看次数

标签 统计

boolean ×1

int ×1

list ×1

python ×1

type-conversion ×1