我有一个如下所示的字典列表:
sample = [{'By': {'email': '[email protected]', 'name': 'xyzzy', 'id': '5859'}},{'By': {'email': '[email protected]', 'name': 'abccb', 'id': '9843'}},
{'By': {'email': '[email protected]', 'name': 'xyzzy', 'id': '5859'}}]
由此,我尝试访问键“name”和“id”并将不同的值写入字典中。
下面是单独返回 id :
print(set(map(lambda x: x['By']['id'], sample)))
输出:{'9843','5859'}
所需输出:{"9843":"abccb", "5859":"xyzzy"}
我尝试使用 f 字符串将“id”和“name”值连接起来,中间用冒号 (:) 表示,为列表中的每个字典项提供“id:name”格式。
set(map(lambda x: f"{x['By']['id']}:{x['By']['name']}", sample))
输出:{'9843:abccb','5859:xyzzy'}
是否可以访问map lambda函数中两个键的值?谢谢你。
您想要的是
dict
,而不是 set
。您可以在 lambda
中获取这两个值并将其打包到 tuple
中
print(dict(map(lambda x: (x['By']['id'], x['By']['name']), sample)))