You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中map生成列表的元素分隔符如何从逗号替换为按位或|

实现方案

你需要通过累积运算完成多个值的连续按位或,Python中可以用functools.reduce配合按位或操作实现:

  1. 无额外依赖的基础实现
from functools import reduce

match key:
    # 直接在case分支中计算按位或结果
    case reduce(lambda a, b: a | b, map(ord, map(str, range(1, 10)))):
        # 你的业务逻辑
  1. 可读性更高的写法(使用operator模块封装的按位或方法)
from functools import reduce
import operator

# 也可以提前计算好结果再匹配
target = reduce(operator.or_, map(ord, map(str, range(1, 10))))
match key:
    case target:
        # 你的业务逻辑

如果你确实需要得到[按位或结果]这种单元素列表格式,只要在外层套上方括号即可:

target_list = [reduce(operator.or_, map(ord, map(str, range(1, 10))))]

补充说明:连续按位或是二元运算,最终会得到一个单独的整数结果,原写法生成的是包含9个ord值的列表,和你需要的输出结构不同,必须通过累积运算合并所有值。

内容的提问来源于stack exchange,提问作者Sayam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:06:03