如何在Python中将布尔值列表转换为真实的?

0g0grzrc  于 2023-04-28  发布在  Python
关注(0)|答案(1)|浏览(136)

在Python中使用Platypus。问题是,在优化之后,当我需要查看变量时,它以布尔格式显示它们。
当我改变变量类型为“真实的”,变量结果显示为实数,但当我选择“整数”类型时,它显示为布尔值。这是其中一个人的样子:

[[True, False, True], [False, True, True, False, True, True, False, True], [False, True, True], [False, False, True, False, True, True, False, True], [True, False, True], [False, False, True, True, False, False, True, False], [False, True, True], [False, False, True, False, False, False, True, False], [True, True, False], [False, False, False, True, True, False, False, True], [False, False, True], [False, True, True, False, True, True, True, False], [True, True, False], [False, True, True, True, True, True, False, False], [True, True, False], [False, False, False, True, False, True, False, True], [False, True, False], [False, True, False, True, False, True, True, True], [True, True, True], [False, True, True, False, True, False, True, True]]

在进入函数之前,它们是整数(我是故意这样做的),但是在进入函数之后,变量变成整数和真实的的混合体。

eyh26e7m

eyh26e7m1#

我知道这是一个古老的问题,但每个人都遇到了同样的问题。
布尔值列表是整数的二进制表示。要将布尔值(二进制)列表转换回整数,可以执行以下操作:

>>> bool_list = [False, True, True, False, True, True, False, True]
>>> int_value = int("".join([str(int(b)) for b in bool_list]), 2)
>>> print(int_value)
109

相关问题