파이썬 사전 확장

Neema Muganga 2023년1월30일
  1. update() 메서드를 사용하여 Python에서 사전 확장
  2. ** 연산자를 사용하여 Python 사전 확장
  3. 사전 이해를 사용하여 Python 사전 확장
  4. 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_dictname 키 값을 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)