스택큐힙리스트

두 사전을 연결하여 새로운 사전을 만드는 방법은 무엇인가요? [복제됨] 본문

카테고리 없음

두 사전을 연결하여 새로운 사전을 만드는 방법은 무엇인가요? [복제됨]

스택큐힙리스트 2023. 4. 25. 12:54
반응형

이 질문은 이미 답변이 있습니다 :

How do I merge two dictionaries in a single expression in Python?

(43 답변)

9년 전에 종료되었습니다.

내가 세 개의 딕셔너리가 있다고 말해봐요.

d1={1:2,3:4}

d2={5:6,7:9}

d3={10:8,13:22}

이 세 가지 사전을 결합하는 새로운 d4를 어떻게 만드나요? 즉:

d4={1:2,3:4,5:6,7:9,10:8,13:22}

답변 1

가장 느리며 Python3에서 작동하지 않습니다. #$@$ #&^#$&를 연결하고 결과 목록에서 dict를 호출합니다.

$ python -mtimeit -s'd1={1:2,3:4}; d2={5:6,7:9}; d3={10:8,13:22}' \

'd4 = dict(d1.items() + d2.items() + d3.items())'

100000 loops, best of 3: 4.93 usec per loop

가장 빠른 방법 : dict 생성자를 최대한 이용하고, 그런 다음 하나의 update :

$ python -mtimeit -s'd1={1:2,3:4}; d2={5:6,7:9}; d3={10:8,13:22}' \

'd4 = dict(d1, **d2); d4.update(d3)'

1000000 loops, best of 3: 1.88 usec per loop

중간: 처음에 비어있는 사전을 사용하여 update 호출 루프.

$ python -mtimeit -s'd1={1:2,3:4}; d2={5:6,7:9}; d3={10:8,13:22}' \

'd4 = {}' 'for d in (d1, d2, d3): d4.update(d)'

100000 loops, best of 3: 2.67 usec per loop

또는 동등하게, 한 개의 복사 생성자와 두 개의 업데이트:

$ python -mtimeit -s'd1={1:2,3:4}; d2={5:6,7:9}; d3={10:8,13:22}' \

'd4 = dict(d1)' 'for d in (d2, d3): d4.update(d)'

100000 loops, best of 3: 2.65 usec per loop

나는 방법 (2)를 추천하고 특히 연결된 항목의 일시적인 데이터 구조에 O(N)의 추가 보조 메모리를 사용하는 (1)을 피하는 것을 추천합니다.

답변 2

양자간의 협력관계에서 가장 중요한 것은 정보 공유입니다. 그리고 이 중에서도 딕셔너리는 매우 중요한 도구 중 하나입니다. 딕셔너리는 키와 값으로 이루어진 자료형으로, 파이썬 프로그래밍에서 매우 일반적입니다. 이번에는 두 개의 딕셔너리를 하나로 합치는 방법에 대해 알아보겠습니다.

두 개의 딕셔너리를 병합하여 새로운 딕셔너리를 만들기 위해서는, 각 딕셔너리를 우선적으로 생성해야 합니다. 그 다음 두 딕셔너리를 병합하는 방법은 매우 간단합니다. 우선 첫 번째 딕셔너리의 update() 함수를 사용하여 두 번째 딕셔너리를 추가합니다. 이렇게 하면 두 딕셔너리가 병합됩니다.

예를 들어, 첫 번째 딕셔너리는 {apple: 5, banana: 7}, 두 번째 딕셔너리는 {orange: 3, grape: 4}라고 가정해봅시다. 이 두 개의 딕셔너리를 병합하여 새로운 딕셔너리를 만드는 코드는 다음과 같습니다.

```

dict1 = {apple: 5, banana: 7}

dict2 = {orange: 3, grape: 4}

combined_dict = dict1.copy()

combined_dict.update(dict2)

print(combined_dict)

```

이 코드를 실행하면, {apple: 5, banana: 7, orange: 3, grape: 4}가 출력됩니다. 새로운 combined_dict 딕셔너리가 만들어졌으며, 첫 번째 딕셔너리와 두 번째 딕셔너리의 키와 값이 모두 포함되어 있습니다.

딕셔너리를 병합하면 매우 유용합니다. 예를 들어, 각기 다른 데이터를 담고 있는 두 개의 딕셔너리가 있다면, 이를 병합하여 하나의 큰 데이터셋으로 합칠 수 있습니다. 이러한 합병은 프로그래밍에서 매우 일반적인 작업 중 하나입니다.

딕셔너리를 병합하여 새로운 딕셔너리를 만드는 과정은 매우 간단합니다. 기존의 정보를 재활용하므로 프로그램 성능 향상에도 도움이 됩니다. 두 개의 딕셔너리를 병합해야 하는 경우, 위에서 언급한 방법을 사용하여 매우 쉽게 병합할 수 있습니다. 이러한 작업은 유용한 정보를 수집하고 활용하는 데 있어서 매우 중요합니다.

반응형
Comments