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

如何在map lambda函数中访问双键值并生成去重字典?

解决方案

当然可以在map的lambda函数中同时访问id和name的值,只需要让lambda返回包含这两个值的二元元组,再通过dict()函数将这些元组转换为字典即可——字典的键天然具有唯一性,会自动完成去重。

实现代码

sample = [
    {'By': {'email': 'xyz@stackoverflow.com', 'name': 'xyzzy', 'id': '5859'}},
    {'By': {'email': 'abc@stackoverflow.com', 'name': 'abccb', 'id': '9843'}},
    {'By': {'email': 'xyz@stackoverflow.com', 'name': 'xyzzy', 'id': '5859'}}
]

# 使用map + lambda生成键值对元组,再转成字典
result = dict(map(lambda x: (x['By']['id'], x['By']['name']), sample))
print(result)

输出结果

{'5859': 'xyzzy', '9843': 'abccb'}

补充:更直观的字典推导式写法

如果觉得map+lambda不够直观,也可以用字典推导式实现同样的效果:

result = {item['By']['id']: item['By']['name'] for item in sample}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 00:47:08