Python의 기본값 사전 적용 및 defaultdict 사용 방법

王林
풀어 주다: 2023-04-23 11:52:07
앞으로
1233명이 탐색했습니다.

Python에서 defaultdict는 사전에 존재하지 않는 키에 대한 기본값을 자동으로 설정할 수 있는 특수한 유형의 사전입니다. 이 유형의 사전은 collections 모듈에 정의되어 있습니다. 더욱 편리하고 사용하기 쉬운 사전을 제공합니다.

1. defaultdict 가져오기

먼저 defaultdict가 포함된 컬렉션 모듈을 가져와야 합니다. Python 코드 맨 위에 다음 코드 줄을 추가하면 됩니다.

from collections import defaultdict
로그인 후 복사

2. defaultdict 생성

defaultdict 생성은 Python 사전 생성과 구문상 동일합니다. 생성자의 매개변수로 defaultdict 유형을 사용하기만 하면 됩니다. 예를 들어 정수를 저장하는 defaultdict를 생성하려면 다음 코드를 사용할 수 있습니다.

int_dict = defaultdict(int)
로그인 후 복사

문자열을 defaultdict에 저장하려면 다음 코드를 사용할 수 있습니다.

str_dict = defaultdict(str)
로그인 후 복사

두 경우 모두 다음을 통과합니다. defaultdict 생성자는 새로운 defaultdict 인스턴스를 정의하기 위해 유형을 전달합니다. 이 유형은 defaultdict의 모든 키에 해당하는 기본값으로 설정됩니다.

3. defaultdict 사용

defaultdict의 키에 액세스하려고 할 때 해당 키가 없으면 생성자에 전달된 유형에 해당하는 기본값이 자동으로 설정됩니다. 예를 들어 아래 코드에서는 defaultdict를 사용하여 사람의 나이를 저장하고 기본값을 0으로 설정합니다.

age_dict = defaultdict(int)
age_dict['alice'] = 25
age_dict['bob'] = 30
age_dict['charlie']
print(age_dict)
로그인 후 복사

출력은 {‘alice’: 25, ‘bob’: 30, ‘charlie’ : 0}, ‘charlie’가 기본 사전에 없으면 자동으로 기본값 0으로 채워집니다.

이 예에서는 기본 사전에 ‘alice’ 및 ‘bob’라는 두 개의 키를 추가하고 사전에 없는 다른 키인 ‘charlie’를 직접 쿼리했습니다. ‘charlie’가 사전에 존재하지 않기 때문에 defaultdict는 자동으로 해당 키에 해당하는 값을 생성자에 전달된 해당 유형의 기본값(이 경우 정수 0)으로 설정합니다. 이것이 실제로 예상된 결과임을 알 수 있습니다.

4. defaultdict 기본값 추가

defaultdict 함수에 기본값으로 함수를 제공하여 기본값을 정의할 수도 있습니다. 이 함수는 사전에 키가 누락된 경우 호출되며 원하는 기본값을 반환합니다. 예를 들어, 다음 코드를 사용하여 사전의 키를 기본값으로 사용하는 함수를 정의할 수 있습니다.

def return_key():
    return "unknown"

key_dict = defaultdict(return_key)
key_dict['apple'] = 'fruit'
print(key_dict['pear'])
print(key_dict['banana'])
로그인 후 복사

출력은 다음과 같습니다.

unknown
unknown

이 예에서는 함수를 정의했습니다. return_key () , 단순히 "알 수 없음"을 반환합니다. 그런 다음 기본 사전을 만들고 이 함수를 기본값으로 사용하여 정의합니다. "pear" 및 "banana" 키에 액세스하려고 하면 기본값 "unknown"을 얻습니다. 그러나 사전에 키 "apple"을 추가하면 "fruit"가 표시됩니다.

위 내용은 Python의 기본값 사전 적용 및 defaultdict 사용 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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