gpt4 book ai didi

python基于键匹配合并字典的最快方法

转载 作者:太空宇宙 更新时间:2023-11-03 14:33:01 25 4
gpt4 key购买 nike

我有 2 个字典列表。列表 A 长 34,000,列表 B 长 650,000。我基本上是根据键匹配将所有列表 B 指令插入到列表 A 指令中。目前,我正在做显而易见的事情,但这需要很长时间(说真的,就像一天一样)。一定有更快的方法!

for a in listA:
a['things'] = []
for b in listB:
if a['ID'] == b['ID']:
a['things'].append(b)

最佳答案

from collections import defaultdict
dictB = defaultdict(list)
for b in listB:
dictB[b['ID']].append(b)

for a in listA:
a['things'] = []
for b in dictB[a['ID']]:
a['things'].append(b)

这会将您的算法从 O(n*m) 变为 O(m)+O(n),其中 n=len(listA),m=len(listB)

基本上,它通过“预先计算”listB 中的哪些字典与每个“ID”匹配,避免了针对 listA 中的每个字典遍历 listB 中的每个字典

关于python基于键匹配合并字典的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7327344/

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