gpt4 book ai didi

python - 如果一个字典的键等于另一个字典的值,合并两个字典的最快方法是什么?

转载 作者:行者123 更新时间:2023-12-01 03:38:15 24 4
gpt4 key购买 nike

假设我有两本字典

dict1 = {(1,1,1) : ('abc'), (2,2,2) : ('def')} 
dict2 = {('abc') : (1,2,3), ('def') : (4,5,6)}

生成 dict 3 的最快方法是什么

dict3 = {(1,1,1):(1,2,3), (2,2,2):(4,5,6)}?

最佳答案

您可以使用字典理解:

dict1 = {(1,1,1) : ('abc'), (2,2,2) : ('def')} 
dict2 = {('abc') : (1,2,3), ('def') : (4,5,6)}
dict3 = {k: dict2[dict1[k]] for k in dict1}

>>> print dict3
{(2, 2, 2): (4, 5, 6), (1, 1, 1): (1, 2, 3)}

这会迭代 dict1,并使用 dict1 中相应的作为键,在 dict2 中查找值。然后将 dict1 中的键和 dict2 中的值组合起来生成一个新字典。

请注意,在 Python 2 中,这应该比使用 dict1.items() 稍快一些,因为这将构建一个临时列表。类似地,迭代 dict1.iteritems() 会返回一个必须创建的迭代器,但这可以忽略不计。直接迭代字典的键也会产生最小的开销。

关于python - 如果一个字典的键等于另一个字典的值,合并两个字典的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40069059/

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