Python合并两个字典的常用方法与效率比较
Jun 06, 2016 am 11:18 AM本文实例讲述了Python合并两个字典的常用方法与效率比较。分享给大家供大家参考。具体分析如下:
下面的代码举例了5种合并两个字典的方法,并且做了个简单的性能测试
#!/usr/bin/python import time def f1(d1, d2): return dict(d1, **d2) def f2(d1, d2): return dict(d1.items() + d2.items()) def f3(d1, d2): d = d1.copy() d.update(d2) return d def f4(d1, d2): d1.update(d2) return d1 def f5(d1, d2): d = dict(d1) d.update(d2) return d def f6(d1, d2): return (lambda a, b: (lambda a_copy: a_copy.update(b) or a_copy)(a.copy()))(d1, d2) def f7(d1, d2): d = {} d.update(d1) d.update(d2) return d def t(f, n): st = time.time() for i in range(1000000): dic1 = {'a':'AA','b':'BB','c':'CC'} dic2 = {'A':'aa','B':'bb','C':'cc'} f(dic1, dic2) et = time.time() print '%s cost:%s'%(n, et-st) t(f1, 'f1') t(f2, 'f2') t(f3, 'f3') t(f4, 'f4') t(f5, 'f5') t(f6, 'f6') t(f7, 'f7')
除了f4方法会对字典d1造成破坏性修改之外,另外的几种方法都是把合并的结果作为新的字典返回。
下面是测试结果:
f1 cost:2.382999897 f2 cost:4.45399999619 f3 cost:3.02100014687 f4 cost:1.73000001907 f5 cost:2.3710000515 f6 cost:2.89700007439 f7 cost:2.35600018501
可以看出f4最为高效,如果不需要保留原字典的话推荐使用f4方法。
希望本文所述对大家的Python程序设计有所帮助。

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Quels sont les avantages et les inconvénients des modèles ?

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs

Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM

Un guide complet sur le débogage et l'analyse des fonctions Golang

Comment enregistrer la fonction d'évaluation
