사전 함께 추가
사전 두 권을 가지고 있는데 한 권으로 만들 수 있으면 좋겠습니다.
이 유사 파이썬과 같은 것이 좋을 것입니다.
dic0 = {'dic0': 0}
dic1 = {'dic1': 1}
ndic = dic0 + dic1
# ndic would equal {'dic0': 0, 'dic1': 1}
중간 스토리지를 사용하지 않고 새로운 딕트를 만드는 것에 관심이 있다면: (이것이 사용하는 것보다 더 빠르고, 제 의견으로는 더 깨끗합니다.dict.items()
)
dic2 = dict(dic0, **dic1)
또는 기존 딕트 중 하나를 사용할 수 있다면 다음과 같습니다.
dic0.update(dic1)
여기에 사전을 추가하는 몇 가지 방법이 있습니다.
Python3의 사전 압축 풀기 기능을 사용할 수 있습니다.
ndic = {**dic0, **dic1}
중복의 경우 이후 인수의 값이 사용됩니다.이는 여기에 나열된 다른 예에서도 마찬가지입니다.
또는 두 항목을 모두 추가하여 새 딕트를 만듭니다.
ndic = dict(tuple(dic0.items()) + tuple(dic1.items()))
수정하는 경우dic0
정상:
dic0.update(dic1)
수정하는 경우dic0
문제 없음:
ndic = dic0.copy()
ndic.update(dic1)
하나의 딕트에 있는 모든 키가 문자열로 확인되는 경우)dic1
이 경우, 물론 Args를 교환할 수 있습니다.)
ndic = dict(dic0, **dic1)
경우에 따라 딕트 이해(Python 2.7 이상)를 사용하는 것이 편리할 수 있습니다.
특히 일부 키/값을 동시에 필터링하거나 변환하려는 경우에는 더욱 그렇습니다.
ndic = {k: v for d in (dic0, dic1) for k, v in d.items()}
>>> dic0 = {'dic0':0}
>>> dic1 = {'dic1':1}
>>> ndic = dict(list(dic0.items()) + list(dic1.items()))
>>> ndic
{'dic0': 0, 'dic1': 1}
>>>
업데이트 방법을 찾고 있습니다.
dic0.update( dic1 )
print( dic0 )
기브즈
{'dic0': 0, 'dic1': 1}
dic0.update(dic1)
이것은 실제로 결합된 사전을 반환하는 것이 아니라 단지 변형됩니다.dic0
.
가장 쉬운 방법은 예제 코드를 사용하는 것이지만 각 사전의 항목() 구성원을 사용하는 것입니다.코드는 다음과 같습니다.
dic0 = {'dic0': 0}
dic1 = {'dic1': 1}
dic2 = dict(dic0.items() + dic1.items())
나는 이것을 IDLE에서 테스트했고 그것은 잘 작동합니다.그러나 이 항목에 대한 이전 질문에서는 이 방법이 느리고 메모리가 부족하다고 말합니다.그 밖에도 여러 가지 방법이 권장되므로 메모리 사용이 중요한지 확인하시기 바랍니다.
언급URL : https://stackoverflow.com/questions/6005066/adding-dictionaries-together
'programing' 카테고리의 다른 글
16진수 색상 문자열에서 색상을 가져오는 방법 (0) | 2023.08.21 |
---|---|
버블 정렬 구현이 영원히 반복되는 이유는 무엇입니까? (0) | 2023.08.21 |
라벨 변경 입력 값 (0) | 2023.08.21 |
Android Recyclerview 그리드 레이아웃 관리자 열 간격 (0) | 2023.08.21 |
Git에서 가장 많이 변경된 파일 찾기 (0) | 2023.08.21 |