gpt4 book ai didi

python - 从字典中获取其键值与另一个字典匹配的值

转载 作者:行者123 更新时间:2023-11-30 22:12:32 25 4
gpt4 key购买 nike

我有两个字典,它们的值本身就是字典。我想创建另一个字典,其值是 dict2 中的值,与 dict1 具有相同的“asin”键值。我有下面的示例输出。我没有太多使用听写,所以非常感谢任何提示。

代码:

dict1

{0:[{u’asin’: u’a’, u’h’: u’b’},{u’asin’: u’b’, u’h’: u’c’}], 1:[{u’asin’: u’c’, u’h’: u’b’},{u’asin’: u’d’, u’h’: u’c’}, 2:[{u’asin’: u’d’, u’h’: u’f’},{u’asin’: u’k’, u’h’: u’c’}]}

代码:

dict2

{0:{u’asin’: u’f’, u’img’: u’123’}, 1:{u’asin’: u’c’, u’img’: u’eed’}, 2:{u’asin’: u’d’, u’img’: u’ffg’}}

期望的输出:

{1:{u’asin’: u’c’, u’img’: u’eed’}, 2:{u’asin’: u’d’, u’img’: u’ffg’}}

最佳答案

您可以使用多种推导式:集合推导式从 d1 的值中提取所有键,以及字典推导式来过滤 d2 中的项目。

keys = {subdict['asin'] for item in d1.itervalues() for subdict in item}

d3 = {k: v for k, v in d2.iteritems() if v['asin'] in keys}

print(d3)

{1: {'asin': 'c', 'img': 'eed'}, 2: {'asin': 'd', 'img': 'ffg'}}

在 Python 3.x 中,将 itervalues/iteritems 替换为 values/items

关于python - 从字典中获取其键值与另一个字典匹配的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51072443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com