Maison  >  Article  >  développement back-end  >  Comparaison d'exemples d'efficacité de fusion de deux dictionnaires en Python

Comparaison d'exemples d'efficacité de fusion de deux dictionnaires en Python

伊谢尔伦
伊谢尔伦original
2017-06-28 13:38:211534parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn