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

Python中基于指定条件遍历列表与字典的代码精简方案

Python 极简实现方案

Python 原生支持列表/集合/字典推导式,搭配内置函数完全可以实现类似 LINQ、lambda 表达式的简洁写法,不需要编写大量显式循环。

针对你的需求,最精简的实现如下:

# 提前转集合优化查询效率,values 元素少可以省略这步
value_set = set(input_object.values)
# 一行实现条件判断、遍历筛选、去重
saved_names = list({v for k, v in my_object.codes.items() if int(k) in value_set} if input_object.id == my_object.name else [])

如果你需要保留匹配到的元素原有顺序(Python 3.7+ 支持),可以用字典键来去重,避免集合打乱顺序:

value_set = set(input_object.values)
saved_names = list(dict.fromkeys(v for k, v in my_object.codes.items() if int(k) in value_set)) if input_object.id == my_object.name else []

如果你偏好类似 LINQ 的链式函数写法,也可以用map、filter组合实现:

value_set = set(input_object.values)
saved_names = []
if input_object.id == my_object.name:
    # 链式调用:筛选符合条件的键值对 → 提取值 → 去重 → 转列表
    saved_names = list(set(map(lambda x: x[1], filter(lambda item: int(item[0]) in value_set, my_object.codes.items()))))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:54:03