Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 如何将布尔值列表转换为单个整数,其中每个布尔值都被解释为一个位?_Python_List_Type Conversion_Int_Boolean - Fatal编程技术网

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

Python 如何将布尔值列表转换为单个整数,其中每个布尔值都被解释为一个位?,python,list,type-conversion,int,boolean,Python,List,Type Conversion,Int,Boolean,我有一个布尔列表,我想把它转换成一个整数。例如:[真,真,假,真,假]->010112->1110 我发现了这个问题:但它是用C写的,这对我没有帮助 我的第一次尝试是 def bools2intbools: n=0 对于bools中的b[:-1]: n*=2 n+=b 返回n 这很有效 但是有没有更像蟒蛇的方法呢?可以在一行中完成吗?IIUC,使用内置intx,base=2: 输出: 11 IIUC,使用内置intx,基=2: 输出: 11 经过一番周旋,我找到了这个 sum[b经过一番胡闹

我有一个布尔列表,我想把它转换成一个整数。例如:[真,真,假,真,假]->010112->1110

我发现了这个问题:但它是用C写的,这对我没有帮助

我的第一次尝试是

def bools2intbools: n=0 对于bools中的b[:-1]: n*=2 n+=b 返回n 这很有效

但是有没有更像蟒蛇的方法呢?可以在一行中完成吗?

IIUC,使用内置intx,base=2:

输出:

11
IIUC,使用内置intx,基=2:

输出:

11

经过一番周旋,我找到了这个


sum[b经过一番胡闹,我发现了这个


总和[b对于您给出的示例,bools2int函数返回52,而不是11。这使得猜测您真正想要做的事情几乎不可能。请尝试更仔细的解释,并提供清晰的示例?因此,您的意图是输入是二进制表示中的位列表,最低有效位在前?如果是这样的话,这很好,但是您的ols2int根本没有实现这一点,因此这个问题仍然存在固有的困惑。很抱歉,我已经修复了这个函数,它应该可以正常工作。对于您给出的示例,bools2int函数返回52,而不是11。这使得猜测您真正要做的事情几乎不可能。请尝试更仔细的解释,使用清晰的examples?那么您的意图是输入是二进制表示中的位列表,最低有效位优先?如果是这样的话,这很好,但是bools2int根本没有实现这一点,所以问题仍然是固有的困惑。很抱歉,我修复了函数,它应该按预期工作。