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

如何用最Pythonic的方式判断两字符串是否在字典键或列表中

Pythonic写法实现多容器存在性判断

首先纠正你代码里的小笔误:id应该是in,而且判断字典键存在时,不需要调用d.keys(),直接写'str_1' in d就可以——Python字典本身支持这种操作,更简洁高效。

下面是几种优雅的单行Pythonic写法:

  • 直观合并条件:最直接的简化,把所有判断逻辑合并到一行,可读性拉满

    return 'str_1' in d or 'str_2' in d or 'str_1' in l or 'str_2' in l
    
  • 集合交集判断:利用集合的交运算,只要目标字符串集合和容器元素集合的交集非空,就满足条件

    return bool({'str_1', 'str_2'} & (set(d) | set(l)))
    

    或者用isdisjoint的反向逻辑(更高效,因为不需要生成完整交集):

    return not {'str_1', 'str_2'}.isdisjoint(set(d) | set(l))
    
  • any()生成器表达式:语义最清晰,明确表达"任意一个字符串满足在d或l中"的逻辑,扩展性强(后续要加更多字符串只需修改元组)

    return any(s in d or s in l for s in ('str_1', 'str_2'))
    

内容的提问来源于stack exchange,提问作者J. Donič

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 23:55:21