programing

사전 함께 추가

cafebook 2023. 8. 21. 21:36
반응형

사전 함께 추가

사전 두 권을 가지고 있는데 한 권으로 만들 수 있으면 좋겠습니다.

이 유사 파이썬과 같은 것이 좋을 것입니다.

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

반응형