전 게시물에서 다뤘던 리스트 컴프리헨션을 딕셔너리에도 적용할 수 있다.
기본적인 틀은 아래와 같다.
new_dict = {키:값 for 아이템 in 리스트}
items() 함수를 사용하여 키와 값을 for 구문의 인자로 쓸 수 있다.
new_dict = {키:값 for (키, 값) in 리스트.items()}
아래 코드와 같이 if 조건문도 함께 사용할 수 있다.
new_dict = {키:값 for (키, 값) in 리스트.items() if 조건문}
딕셔너리 컴프리헨션 코딩 연습
split() 함수로 띄어쓰기로 문장을 나누는 것이 핵심.
sentence = "What is the Airspeed Velocity of an Unladen Swallow?"
split_sentence = sentence.split(" ")
result = {n:len(n) for n in split_sentence}
print(result)
#결과
{'What': 4, 'is': 2, 'the': 3, 'Airspeed': 8, 'Velocity': 8, 'of': 2, 'an': 2, 'Unladen': 7, 'Swallow?': 8}
weather_c = {
"Monday": 12,
"Tuesday": 14,
"Wednesday": 15,
"Thursday": 14,
"Friday": 21,
"Saturday": 22,
"Sunday": 24,
}
weather_f = {key : round(value * 1.8 + 32,1) for (key, value) in weather_c.items()}
print(weather_f)
#결과
{
'Monday': 53.6,
'Tuesday': 57.2,
'Wednesday': 59.0,
'Thursday': 57.2,
'Friday': 69.8,
'Saturday': 71.6,
'Sunday': 75.2
}