본문 바로가기
Programing/Python

Python Dictionary Comprehension 사용 방법

by 멍멍돌이야 2023. 3. 10.
반응형

이 자습서에서는 사전의 항목을 변환하거나 필터링하는 Python 사전 이해에 대해 배웁니다.

 

1. Python dictionary comprehension 소개

사전 이해를 사용하면 사전에서 for 루프를 실행하고 변환 또는 필터링과 같은 각 항목에 대해 작업을 수행하고 새 사전을 반환할 수 있습니다.

for 루프와 달리 사전 이해는 올바르게 사용할 때 더 표현적이고 간결한 구문을 제공합니다.

다음은 사전 이해를 위한 일반적인 구문입니다.

python
{key:value for (key,value) in dict.items() if condition}

이 사전 이해 표현식은 표현식 key: value로 항목이 지정된 새 사전을 반환합니다.

 

2. Python dictionary comprehension 사용방법

사전 이해를 사용하여 사전의 항목을 변환하고 필터링하는 방법을 살펴보겠습니다.

 

1) comprehension 사용하여 dictionary 변환처리

항목이 주식 기호와 가격인 다음 사전이 있다고 가정합니다.

python
stocks = { 'AAPL': 121, 'AMZN': 3380, 'MSFT': 219, 'BIIB': 280, 'QDEL': 266, 'LVGO': 144 }

각 주식의 가격을 2%씩 올리려면 다음과 같은 for 루프를 사용할 수 있습니다.

 

python
stocks = { 'AAPL': 121, 'AMZN': 3380, 'MSFT': 219, 'BIIB': 280, 'QDEL': 266, 'LVGO': 144 } new_stocks = {} for symbol, price in stocks.items(): new_stocks[symbol] = price*1.02 print(new_stocks)

Output:

python
{'AAPL': 123.42, 'AMZN': 3447.6, 'MSFT': 223.38, 'BIIB': 285.6, 'QDEL': 271.32, 'LVGO': 146.88}

작동 방식:

  • 먼저 주식 사전의 항목을 반복합니다.
  • 둘째, 가격을 2% 올리고 새 사전(new_stocks)에 항목을 추가합니다.
         

다음 예는 동일한 결과를 얻기 위해 사전 이해를 사용하는 방법을 보여줍니다.

python
stocks = { 'AAPL': 121, 'AMZN': 3380, 'MSFT': 219, 'BIIB': 280, 'QDEL': 266, 'LVGO': 144 } new_stocks = {symbol: price * 1.02 for (symbol, price) in stocks.items()} print(new_stocks)

이 사전 이해는 for 루프 대응 항목과 동일합니다.

 

for loop

python
new_stocks = {} for symbol, price in stocks.items(): new_stocks[symbol] = price*1.02

 

dictionary comprehension

python
new_stocks = {symbol: price * 1.02 for (symbol, price) in stocks.items()}

 

2) dictionary comprehension 사용한 필터링

가격이 200보다 큰 주식을 선택하려면 다음 for 루프를 사용할 수 있습니다.

python
stocks = { 'AAPL': 121, 'AMZN': 3380, 'MSFT': 219, 'BIIB': 280, 'QDEL': 266, 'LVGO': 144 } selected_stocks = {} for symbol, price in stocks.items(): if price > 200: selected_stocks[symbol] = price print(selected_stocks)

작동 방식:

  • 먼저 주식 사전의 항목을 반복합니다.
  • 그런 다음 가격이 200보다 큰 경우 selected_stocks 사전에 항목을 추가합니다.
         

다음 예제에서는 if 절과 함께 사전 이해를 사용하여 동일한 결과를 얻습니다.

python
stocks = { 'AAPL': 121, 'AMZN': 3380, 'MSFT': 219, 'BIIB': 280, 'QDEL': 266, 'LVGO': 144 } selected_stocks = {s: p for (s, p) in stocks.items() if p > 200} print(selected_stocks)

그리고 for 루프와 사전 이해를 비교할 수 있습니다.

 

for loop

python
selected_stocks = {} for symbol, price in stocks.items(): if price > 200: selected_stocks[symbol] = price

dictionary comprehension

python
selected_stocks = {s: p for (s, p) in stocks.items() if p > 200}

 

3. Summary

  • 사전 이해는 사전의 항목을 반복하며 각 항목을 변환하거나 필터링하여 새 사전을 만들 수 있습니다.

 

 

refreance:https://www.pythontutorial.net/python-basics/python-dictionary-comprehension/

 

728x90
반응형

댓글