파이썬 사전 확장
-
update()
메서드를 사용하여 Python에서 사전 확장 -
**
연산자를 사용하여 Python 사전 확장 - 사전 이해를 사용하여 Python 사전 확장
-
collections.Chainmap
을 사용하여 Python 사전 확장
이 기사는 파이썬 사전을 다른 사전으로 확장하는 방법을 사용자에게 보여줄 것입니다. 사전은 변경할 수 있는(변경 가능한) 데이터의 컨테이너이며 이 데이터를 키-값 쌍의 형태로 저장합니다(예: {key: 'value'}
).
연결을 통해 다른 요소로 사전을 확장할 수 있습니다. 이는 한 사전의 모든 키-값 쌍이 다른 사전에 추가됨을 의미합니다.
update()
메서드를 사용하여 Python에서 사전 확장
update()
메소드는 Python이 사전 연결을 구현하는 데 사용하는 방법 중 하나입니다. 현재 사전의 끝에 다른 사전의 키-값 쌍 요소를 추가하여 수행됩니다.
이 방법은 다른 사전에서 다른 키-값 쌍이 있는 사전을 확장할 때 특히 유용합니다. 그렇지 않으면 update()
를 사용하면 첫 번째 사전의 기존 값을 두 번째 사전의 요소로 덮어씁니다.
간단히 말해서, 두 번째로 정의된 사전의 값은 겹치기 때문에 첫 번째 사전의 값을 덮어씁니다.
first_dict = {"name": "Yolanda", "major": "Bsc Comp Science", "age": 23}
second_dict = {"name": "Beatrice", "major": "Bsc Comp Science", "age": 43}
first_dict.update(second_dict)
print(first_dict)
출력:
{'name': 'Beatrice', 'major': 'Bsc Comp Science', 'age': 43}
위의 사전은 name
인 동일한 key
값을 갖습니다. update()
를 사용하여 이러한 데이터 저장소를 연결하면 first_dict
의 name
키 값을 second_dict
의 값으로 덮어씁니다. 따라서 출력에 표시된 대로 단일 사전이 생성됩니다.
그러나 아직 정의되지 않은 값으로 하나의 사전을 확장할 때 update()
는 정의된 두 사전의 모든 키-값 쌍이 있는 단일 사전을 표시합니다.
예시:
dict_one = {'u':2, 'v':4, 'w':7}
dict_two = {'x':5, 'y':6, 'z': 8}
dict_one.update(dict_two)
print(dict_one)
출력:
{'u': 2, 'v': 4, 'w': 7, 'x': 5, 'y': 6, 'z': 8}
**
연산자를 사용하여 Python 사전 확장
한 줄 문장에서 별표
연산자를 사용하면 다음과 같습니다.
dict(iterable, **kwargs)
iterable
은 첫 번째로 정의된 사전이고 두 번째 매개변수는 두 번째 사전(키워드 매개변수)입니다.
예시
y = {"a": 5, "b": 6}
z = {"c": 7, "d": 9}
x = dict(y, **z)
print(x)
출력:
{'a': 5, 'b': 6, 'c': 7, 'd': 9}
정의된 사전에 키-값 쌍이 중복되는 경우 update()
에서 본 것과 동일한 방식으로 두 번째 사전의 항목이 첫 번째 사전의 항목과 중복됩니다.
예시:
first_dict = {"a": 2, "b": 3, "c": 5}
second_dict = {"c": 4, "e": 6, "f": 7}
dictt = dict(first_dict, **second_dict)
print(dictt)
출력:
{'a': 2, 'b': 3, 'c': 4, 'e': 6, 'f': 7}
**dictionary
항목의 인수 이름과 키는 문자열 데이터 유형이어야 합니다. 그렇지 않으면 Typerror 예외가 표시됩니다.
예시:
first_dict = {"a": 2, "b": 3, "c": 5}
second_dict = {"c": 4, "e": 6, 7: 7}
dictt = dict(first_dict, **second_dict)
print(dictt)
출력:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: keywords must be strings
사전 이해를 사용하여 Python 사전 확장
이 변환 방법은 조건부로 원래 사전의 항목을 새 사전으로 포함하여 하나의 Python 사전을 다른 사전으로 변환합니다. 위와 같이 별표를 사용하는 것과 유사하게 작동합니다.
first_dict = {"a": 2, "b": 3, "c": 5}
second_dict = {"c": 4, "e": 6, "f": 7}
the_dictionary = {**first_dict, **second_dict}
print(the_dictionary)
출력:
{'a': 2, 'b': 3, 'c': 4, 'e': 6, 'f': 7}
collections.Chainmap
을 사용하여 Python 사전 확장
Python은 필요할 때 업데이트할 수 있는 단일 보기를 형성하기 위해 여러 사전을 그룹화하는 ChainMap
클래스를 제공합니다. Python의 collections
모듈에서 가져옵니다.
요소를 더 빠르게 연결하려면 이 방법을 사용하십시오. 이는
chainmap
이 사전의 보기만 사용하기 때문입니다. 따라서 데이터 복사가 포함되지 않습니다.
또한 언제든지 키를 덮어씁니다. 따라서 출력에서 데이터 소스가 무엇인지 알 수 있습니다.
다음과 같이 구현합니다.
from collections import ChainMap
first_dict = {"a": 2, "b": 3, "c": 5}
second_dict = {"c": 4, "e": 6, "f": 7}
a_dictionary = ChainMap(first_dict, second_dict)