Dict Comprehension을 사용하여 조건에 따라 Python 사전을 필터링하려면 어떻게 해야 합니까?

Barbara Streisand
풀어 주다: 2024-11-13 02:27:02
원래의
755명이 탐색했습니다.

How Can I Filter Python Dictionaries Based on Conditions Using Dict Comprehensions?

Dict Comprehensions을 사용한 조건 기반 사전 필터링

키-값 쌍이 있는 사전이 있는 경우 특정 항목을 기반으로 필터링하는 것이 일반적입니다. 특정 기준에 따라. Python 사전은 컴프리헨션 기술 사용을 포함하여 여러 가지 필터링 방법을 제공합니다.

딕트 컴프리헨션 접근 방식

사전 필터링을 위한 한 가지 우아한 솔루션은 딕셔너리 컴프리헨션을 사용하는 것입니다. 이 구문을 사용하면 원본 사전의 각 항목에 조건을 적용하여 새 사전을 만들 수 있습니다. 결과 사전에는 지정된 기준을 충족하는 키와 값만 포함됩니다.

예를 들어 점 좌표('x', 'y')가 포함된 사전(점)을 필터링하고 다음보다 작은 값을 가진 사전(점)을 선택합니다. 5 'x'와 'y' 모두에 대해 다음 코드를 사용할 수 있습니다:

{k: v for k, v in points.items() if v[0] < 5 and v[1] < 5}
로그인 후 복사

2.7 이전 Python 버전에서는 items() 대신 iteritems()를 사용할 수 있습니다:

{k: v for k, v in points.iteritems() if v[0] < 5 and v[1] < 5}
로그인 후 복사

List Comprehension을 사용한 항목 필터링

dict comprehensions은 간결한 접근 방식을 제공하지만 list comprehension을 사용하여 항목을 필터링할 수도 있습니다. 그러나 이 방법을 사용하려면 새 사전을 생성하기 위한 추가 단계가 필요합니다.

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]
로그인 후 복사

이 코드는 먼저 조건을 충족하는 항목 목록을 생성한 다음 목록을 반복하여 새 사전(points_small)을 생성합니다. 사전 이해를 사용하는 것만큼 효율적이지는 않지만 새 사전을 만들기 전에 필터링된 항목을 추가로 조작해야 하는 경우 유용할 수 있습니다.

위 내용은 Dict Comprehension을 사용하여 조건에 따라 Python 사전을 필터링하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿