Python의 중첩 사전 이해

Zeeshan Afridi 2023년6월21일
  1. 파이썬 사전 이해
  2. Python 중첩 사전 이해
Python의 중첩 사전 이해

Python 사전 이해는 기존 사전에서 새로운 사전을 만들 수 있는 강력한 도구입니다. 목록 내포와 유사하지만 목록을 만드는 대신 사전을 만듭니다.

딕셔너리 이해는 딕셔너리를 만드는 매우 간결한 방법이며 하나의 튜플이 키와 값을 포함하는 두 개의 튜플에서 딕셔너리를 만들고 싶을 때 유용합니다.

이 자습서에서는 Python 중첩 사전 이해, 그 사용 및 Python에서 사용하는 이점을 살펴봅니다.

파이썬 사전 이해

사전 이해는 사전 필터링, 변환 또는 새 사전 생성과 같은 사전에 대한 다양한 작업을 수행하는 데 사용할 수 있는 강력한 도구입니다.

사전 내포를 사용하면 다른 사전이나 다른 반복 가능한 데이터 유형에서 사전을 만들 수 있습니다. 또한 값 대신 키-값 쌍을 지정할 수 있습니다.

사전 이해는 기존 사전에서 새 사전을 만드는 데 가장 일반적으로 사용됩니다. 예를 들어 기존 사전의 키 또는 값만 포함하는 새 사전을 만들 수 있습니다.

기존 두 사전의 키와 값을 포함하는 새 사전을 만들 수도 있습니다. 사전 이해를 사용하여 기존 사전을 조작할 수도 있습니다.

예를 들어 사전에서 항목을 추가 또는 제거하거나 기존 항목의 값을 변경할 수 있습니다.

코드 예:

square_dict = dict()

for num in range(1, 4):
    square_dict[num] = num * num

print(square_dict)

# dictionarycomprehension example
square_dict = {num: num * num for num in range(1, 4)}

print(square_dict)

출력:

{1: 1, 2: 4, 3: 9}
{1: 1, 2: 4, 3: 9}

사전 이해의 구문

Dictionary Comprehension은 Python의 다른 데이터 구조에서 사전을 생성하기 위한 편리한 도구입니다. 구문은 {key: value for (key, value) in iterable}로 간단하게 읽을 수 있습니다.

코드 예:

# The price of the item in dollars
old_price = {"price of milk": 2, "price of coffee": 4, "price of bread": 3.5}

dollar_to_pound = 0.76
new_price = {item: value * dollar_to_pound for (item, value) in old_price.items()}
print(new_price)

출력:

{'price of milk': 1.52, 'price of coffee': 3.04, 'price of bread': 2.66}

Python 중첩 사전 이해

중첩된 사전 이해는 일련의 키-값 쌍을 반복한 다음 해당 쌍에서 새 사전을 구성하는 방식으로 작동합니다. 새 사전은 dict.update 또는 dict.fromkeys와 같은 매핑 함수를 사용하여 빌드할 수 있습니다.

예를 들어 다음 데이터 구조를 고려하십시오.

data = {"a": 1, "b": 2, "c": 3, "d": 4}

이 데이터 구조의 키만 유지하는 새 사전을 합성하려면 다음 중첩 사전 이해를 사용할 수 있습니다.

new_dict = {k: data[k] for k in data}
print(new_dict)

다음과 같은 새 사전을 생성합니다.

{'a': 1, 'b': 2, 'c': 3, 'd': 4}

다음 중첩 사전 이해를 사용하여 이 데이터 구조의 값만 유지하는 새 사전을 합성할 수 있습니다.

new_dict = {k: v for k, v in data.items()}

다음과 같은 새 사전을 생성합니다.

{'a': 1, 'b': 2, 'c': 3, 'd': 4}

보시다시피 중첩된 사전 이해는 복잡한 데이터 구조를 빠르고 효율적으로 처리하고 조작할 수 있는 강력한 도구입니다. 임시 데이터 구조를 만드는 쉬운 방법이기도 합니다.

파이썬에서 중첩된 사전 이해의 구문

중첩된 사전 이해를 만들려면 첫 번째 사전 이해의 괄호 안에 다른 사전 이해를 넣으십시오.

다음 예제는 서로 다른 과일에 대한 정보를 포함하는 각 내부 사전을 사용하여 사전 사전을 생성합니다.

{key:value for key, value in outer_dict.items() if key =='fruit'}
{key:{'name':fruit['name'], 'colour':fruit['colour']} for key,fruit in outer_dict.items() if key == 'fruit'}

위의 첫 번째 사전 이해는 과일의 이름인 키와 해당 과일색상인 값으로 사전을 생성합니다.

위의 두 번째 사전 이해는 동일한 작업을 수행하지만 추가 수준의 중첩을 추가하여 사전의 사전을 만듭니다.

코드 예:

dictionary = {k1: {k2: k1 * k2 for k2 in range(1, 3)} for k1 in range(2, 5)}
print(dictionary)

출력:

{2: {1: 2, 2: 4}, 3: {1: 3, 2: 6}, 4: {1: 4, 2: 8}}

중첩된 사전 이해의 장점

Python에서 중첩된 사전 이해를 사용하면 몇 가지 이점이 있습니다.

  1. 복잡한 중첩 사전을 쉽게 만드는 데 사용할 수 있습니다.
  2. 많은 양의 데이터를 효율적으로 처리하는 데 사용할 수 있습니다.
  3. 마지막으로 기존 사전을 기반으로 새 사전을 빠르게 만드는 데 사용할 수 있습니다.

따라서 중첩된 사전 이해가 작동하는 방식을 이해하면 Python에서 복잡한 데이터를 빠르고 효율적으로 사용할 수 있습니다.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

관련 문장 - Python Dictionary