2015-11-19 42 views
2

假设我有二进制文件的列表如下:什么是对Python中的二进制文件列表执行按位操作的优雅方式?

b = [0b10,0b110,0b101] 

我想执行按位,只有所有列表B中的二进制文件。有没有更好的方法来做到这一点,而不是顺序添加两个二进制文件?

+0

是您的*字符串*,或*整数*的名单? Python中没有内置的二进制类型。 – jonrsharpe

+0

@jonrsharpe但你可以用二进制说明符初始化整数。 OP已经显示了一个完全合法的初始值。 – tdelaney

+0

你可以用'&',即'0b10&0b110 == 2'和'bin(2)=='0b10''执行按位AND。 –

回答

3

您可以使用operator标准模块

import operator 
result = reduce(operator.and_, b) 
+0

酷!这正是我所希望的。 –

+0

您选择'iand'而不是'and_'的任何特定原因? – user2357112

+0

@ user2357112:错误...正确的是'and_'(即使数字相同) – 6502

相关问题