gpt4 book ai didi

python - 按键组合两个大型词典的最快方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:15 24 4
gpt4 key购买 nike

我有两本大词典。这是一个演示示例,但您可以想象每个字典都有近 10 万条记录:

d1 = {
'0001': [('skiing',0.789),('snow',0.65),('winter',0.56)],
'0002': [('drama', 0.89),('comedy', 0.678),('action',-0.42),
('winter',-0.12),('kids',0.12)]
}

d2 = {
'0001': [('action', 0.89),('funny', 0.58),('sports',0.12)],
'0002': [('dark', 0.89),('Mystery', 0.678),('crime',0.12), ('adult',-0.423)]
}

我想要一个字典,其中包含每个字典中按键组合的值:

{
'0001': [
('skiing', 0.789), ('snow', 0.65), ('winter', 0.56),
[('action', 0.89), ('funny', 0.58), ('sports', 0.12)]
],
'0002': [
('drama', 0.89), ('comedy', 0.678), ('action', -0.42),
('winter', -0.12), ('kids', 0.12),
[('dark', 0.89), ('Mystery', 0.678), ('crime', 0.12), ('adult', -0.423)]
]
}

我实现这个的方法是:

for key, value in d1.iteritems():
if key in d2:
d1[key].append(d2[key])

但是看了很多地方之后我发现iteritems() 真的很慢而且实际上并没有使用C 数据结构来做,而是使用了Python 函数。我怎样才能快速有效地完成这个组合/合并过程?

最佳答案

for k, v in d2.items():
if k in d1:
d1[k].extend(v)
else:
d1[k] = v

关于python - 按键组合两个大型词典的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29127080/

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