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

是否存在语法可在解包元组时为假值设置替代值?

元组解包时为假值设置默认值的单行写法

当然有可行的单行语法,分享几种常用的实现方式:

  • 统一默认值场景:如果所有元素都想用同一个默认值(比如0),可以用生成器表达式配合解包:

    values = (1, None)
    one, two = (v or 0 for v in values)
    # 结果:one=1,two=0
    

    这种写法会遍历values里的每个元素,自动用指定默认值替代假值(None、0、空字符串、空列表等都会被替换)。如果只想针对None做替换,不想影响其他假值,可以把逻辑改成:

    one, two = (v if v is not None else 0 for v in values)
    
  • 自定义不同默认值场景:如果每个元素需要不同的默认值,直接针对每个元素单独处理即可:

    values = (1, None)
    one, two = values[0] or 0, values[1] or 10
    # 结果:one=1,two=10
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 02:33:21