Cet article présente principalement les méthodes courantes et la comparaison de l'efficacité de Python pour fusionner deux dictionnaires. Il analyse et compare les méthodes courantes de fusion de dictionnaires en Python avec des exemples. Les amis dans le besoin peuvent se référer à
.L'exemple de cet article décrit les méthodes courantes et la comparaison de l'efficacité de la fusion de deux dictionnaires en Python. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :
Le code suivant illustre 5 méthodes de fusion de deux dictionnaires, et effectue un simple test de performances
#!/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')
Sauf que la méthode f4 endommagera le dictionnaire d1 En plus de la modification sexuelle, plusieurs autres méthodes renvoient le résultat fusionné sous la forme d'un nouveau dictionnaire.
Voici les résultats des tests :
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
On constate que f4 est le plus efficace. Si vous n'avez pas besoin de conserver le dictionnaire original, il est recommandé d'utiliser le. méthode f4.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!