>  기사  >  백엔드 개발  >  Python에서 두 사전을 병합하는 효율성 예제 비교

Python에서 두 사전을 병합하는 효율성 예제 비교

伊谢尔伦
伊谢尔伦원래의
2017-06-28 13:38:211534검색

이 글에서는 Python두 사전 병합의 일반적인 방법과 효율성 비교를 주로 소개합니다. Python에서 사전을 병합하는 일반적인 방법을 분석하고 비교한 내용입니다. 필요한 친구가 참고할 수 있습니다.

이 글에서는 두 사전을 병합하는 예를 설명합니다. 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')

사전 d1에 파괴적인 수정을 일으키는 f4 방법 외에도 몇 가지 다른 방법이 있습니다 병합된 결과는 새 사전으로 반환됩니다.

테스트 결과는 다음과 같습니다.

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에서 두 사전을 병합하는 효율성 예제 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.