python

[python] Dict Comprehension

전감자(◔◡◔) 2022. 9. 22. 22:40
'''

dict comprehension
1. dict + for문 결합
변수 ={ k:v for k,v in dict.items()}

2. dict + for문 결합
변수 ={ k:v for k,v in dict.items() if 조건식}

3. dict + for문 + 3항연산자
변수 ={ 표현식 if 조건식 else 표현식 for k,v in dict.items()}
'''

#1. dict + for문 결합
m = {"name":"홍길동","age":20,"address":"서울"}
result={k:v for k,v in m.items()}
print(result)

result={v:k for k,v in m.items()}
print(result)

# dict + for문 결합 + 단일 if문
#key값의 길이가 4글자 이상인 값만 반환

result={v:k for k,v in m.items() if len(k)>=4}
print(result)

#3. dict + for문 + 3항연산자, k:v 형태 반환이 불가능함
#key 값의 길이가 4글자 이상은 k반환 아니면 v반환
result = {k if len(k)>=4 else v for k,v in m.items()}
print(result) #{'address', 20, 'name'} 셋으로 반환