假设我有二进制文件的列表如下:什么是对Python中的二进制文件列表执行按位操作的优雅方式?
b = [0b10,0b110,0b101]
我想执行按位,只有所有列表B中的二进制文件。有没有更好的方法来做到这一点,而不是顺序添加两个二进制文件?
假设我有二进制文件的列表如下:什么是对Python中的二进制文件列表执行按位操作的优雅方式?
b = [0b10,0b110,0b101]
我想执行按位,只有所有列表B中的二进制文件。有没有更好的方法来做到这一点,而不是顺序添加两个二进制文件?
您可以使用operator
标准模块
import operator
result = reduce(operator.and_, b)
酷!这正是我所希望的。 –
您选择'iand'而不是'and_'的任何特定原因? – user2357112
@ user2357112:错误...正确的是'and_'(即使数字相同) – 6502
是您的*字符串*,或*整数*的名单? Python中没有内置的二进制类型。 – jonrsharpe
@jonrsharpe但你可以用二进制说明符初始化整数。 OP已经显示了一个完全合法的初始值。 – tdelaney
你可以用'&',即'0b10&0b110 == 2'和'bin(2)=='0b10''执行按位AND。 –