English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python 기본 튜토리얼

Python 프로세스 제어

Python 함수

Python 데이터 타입

Python 파일 처리

Python 객체와 클래스

Python 날짜와 시간

Python 고급 지식

Python 참조 가이드

Python 딕셔너리 fromkeys() 사용 방법 및 예제

파이썬 딕셔너리 메서드

fromkeys() 메서드는 주어진 요소 시퀀스를 기반으로 새 딕셔너리를 생성합니다. 이 딕셔너리는 사용자가 제공한 값으로 설정됩니다.

fromkeys() 메서드의 문법은 다음과 같습니다:

dictionary.fromkeys(sequence[, value])

fromkeys() 매개변수

fromkeys() 메서드는 두 개의 매개변수를 사용합니다:

  • sequence -새 딕셔너리 키로 사용할 요소 시퀀스

  • value(선택 사항) -딕셔너리의 각 요소에 설정된 값

fromkeys() 반환 값

fromkeys() 메서드는 주어진 요소 시퀀스로 키로 사용할 새 딕셔너리를 반환합니다.

value 매개변수가 설정되면, 새로 생성된 딕셔너리의 각 요소는 제공된 value 값으로 설정됩니다.

예제1: 키 시퀀스에 따라 딕셔너리 생성

# 원음 키
keys = {'a', 'e', 'i', 'o', 'u'}
vowels = dict.fromkeys(keys)
print(vowels)

프로그램을 실행할 때, 출력은 다음과 같습니다:

{'a': None, 'u': None, 'o': None, 'e': None, 'i': None}

예제2: 값이 있는 키 시퀀스에 따라 딕셔너리 생성

# 원음 키
keys = {'a', 'e', 'i', 'o', 'u'}
value = 'vowel'
vowels = dict.fromkeys(keys, value)
print(vowels)

프로그램을 실행할 때, 출력은 다음과 같습니다:

{'a': 'vowel', 'u': 'vowel', 'o': 'vowel', 'e': 'vowel', 'i': 'vowel'}

예제3: 변경 가능한 객체 목록에서 딕셔너리 생성

# 원음 키
keys = {'a', 'e', 'i', 'o', 'u'}
value = [1]
vowels = dict.fromkeys(keys, value)
print(vowels)
# 갱신된 값
value.append(2)
print(vowels)

프로그램을 실행할 때, 출력은 다음과 같습니다:

{'a': [1], 'u': [1], 'o': [1], 'e': [1], 'i': [1}]
{'a': [1, 2], 'u': [1, 2], 'o': [1, 2], 'e': [1, 2], 'i': [1, 2}]

제공된 value가 변경 가능한 객체(값을 변경할 수 있습니다)라면, 예를 들어리스트,디�셔너리그리고, 시퀀스에서 변경 가능한 객체를 수정할 때, 시퀀스의 각 요소도 업데이트됩니다.

이는 각 요소에 동일한 객체에 대한 참조(메모리에 동일한 객체를 가리키는)를 할당하기 때문입니다.

이 문제를 피하기 위해, 딕셔너리 이해를 사용합니다.

# 원음 키
keys = {'a', 'e', 'i', 'o', 'u'}
value = [1]
vowels = { key : list(value) for key in keys }
# 또한 { key : value[:] for key in keys } 사용 가능
print(vowels)
# 갱신된 값
value.append(2)
print(vowels)

프로그램을 실행할 때, 출력은 다음과 같습니다:

{'a': [1], 'u': [1], 'o': [1], 'e': [1], 'i': [1}]
{'a': [1], 'u': [1], 'o': [1], 'e': [1], 'i': [1}]

여기서, keys의 각 키에 대해 value에서 새로운 목록을 생성하고 그것을 할당합니다.

본질적으로, value는 요소에 할당되지 않고, 대신 새로운 목록을 생성한 후 그것을 딕셔너리의 각 요소에 할당합니다.

파이썬 딕셔너리 메서드