如何对任意大小列表的所有元素依次应用pipe运算符?求标准库函数
解决列表元素依次应用按位或运算的方法
你要找的是functools.reduce()函数,结合operator.or_(对应|运算符的函数形式)就能实现需求。
示例代码
方式一:使用operator模块
from functools import reduce import operator l = [1, 2, 3, 4, 5] result = reduce(operator.or_, l) print(result) # 输出7
方式二:使用lambda表达式(无需额外导入operator)
from functools import reduce l = [1, 2, 3, 4, 5] result = reduce(lambda x, y: x | y, l) print(result) # 输出7
reduce函数会将列表中的元素依次传入指定的二元操作函数,这里就会按顺序执行1 | 2 | 3 | 4 | 5的运算,得到你示例中的结果。
内容的提问来源于stack exchange,提问作者Lord Elrond
相关产品推荐
相关产品推荐

