이 글에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!