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

Python遍历筛选后字典的简洁无冗余写法有哪些?

最优内置实现写法

直接使用Python内置的filter函数过滤字典的键值对序列,无需重复声明变量,也不用手动维护索引:

for i, (k, v) in enumerate(filter(lambda item: item[0] in s, d.items())):
    # 业务逻辑
    ...

写法优势

  • 完全使用Python标准内置能力,无需安装任何第三方依赖
  • 没有变量重复声明的冗余问题,k、v仅在循环解包时声明一次
  • 索引直接由enumerate生成,不需要手动维护计数器变量

可选可读性优化(Python 3.8+)

如果觉得lambda中item[0]的语义不够直观,也可以用海象运算符调整筛选逻辑,性能和简洁度与上述写法没有本质差异:

for i, (k, v) in enumerate((kv for kv in d.items() if (k := kv[0]) in s)):
    ...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:15:04