사용자 정의 조건을 사용한 고급 사전 필터링
이 책의 예제에서는 항목() 함수를 사용한 사전 필터링을 보여줍니다. 효율성.
사전 이해 방법:
Python은 이러한 목적을 위한 강력한 도구인 사전 이해를 제공합니다. 이를 사용하면 사용자 지정 조건을 적용하면서 기존 값을 기반으로 새 사전을 만들 수 있습니다. 예를 들어, 점 사전을 필터링하려면:
points = {'a': (3, 4), 'b': (1, 2), 'c': (5, 5), 'd': (3, 3)} points_under_5 = { k: v for k, v in points.items() # Iterate over (key, value) pairs if v[0] < 5 and v[1] < 5 # Filter based on condition }
Python 2 호환성:
Python 2(2.7 이상)에서 사전 항목을 반복하는 구문은 다음과 같습니다. 약간 다릅니다:
points_under_5 = { k: v for k, v in points.iteritems() # Use 'iteritems()' instead of 'items()' if v[0] < 5 and v[1] < 5 }
성능 고려 사항:
dict comprehension 접근 방식은 수동 반복 방법에 비해 우수한 성능을 제공합니다.
import timeit # Manual iteration manual_time = timeit.timeit( """ points={'a':(3,4), 'b':(1,2), 'c':(5,5), 'd':(3,3)} points_small={} for item in [i for i in points.items() if i[1][0]<5 and i[1][1]<5]: points_small[item[0]]=item[1] """, number=1000000 ) # Dict comprehension dict_time = timeit.timeit( """ points={'a':(3,4), 'b':(1,2), 'c':(5,5), 'd':(3,3)} points_under_5 = {k:v for k, v in points.items() if v[0]<5 and v[1]<5} """, number=1000000 ) print("Manual iteration time:", manual_time) print("Dict comprehension time:", dict_time)
위 내용은 Python에서 사용자 정의 조건을 기반으로 사전을 효율적으로 필터링하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!