key
)for
list와 마찬가지로 dictionary도 for
문을 사용하여 looping이 가능
dictionary는 key와 value값을 가지고 있으므로 key
값을 통해 value
값을 return
시킴
example = {'영화_1' : '로맨스' , '영화_2' : '코미디' , '영화_3' : '액션'}
for key_name in example:
print(example[key_name])
# Output
로맨스
코미디
액션
# dictionary의 key값에 지정된 value값이 출력되는 것을 볼 수 있다.
key
& value
).items()
dictionary_name.items()
.items()
method를 이용하여, key
값과 value
값을 동시에 출력되도록 할 수 있다.
이 경우엔 key
와 value
를 동시에 지정해주면 된다.
.items()
를 이용하면 Tuple 형식으로 출력이 이루어진다.
example = {'영화_1' : '로맨스' , '영화_2' : '코미디' , '영화_3' : '액션'}
for key_name, value_name in example.items():
print(key_name , value_name)
# Output
영화_1 로맨스
영화_2 코미디
영화_3 액션
한번에 여러 dictionary를 다루고자 할 때에는 list 내에 묶어서 사용 할 수 있다.
이 경우에 원하고자 하는 value
를 출력하려면 상당히 복잡한 프로세스를 거친다.
# 다수의 dictionary 집합의 list화
example = [
{
'제목' : '닉과 노라의 인피니트 플레이리스트' ,
'장르' : '로맨틱 코미디' ,
'개봉' : '2008년' ,
'국가' : '미국'
},
{
'제목' : '펀치 드렁크 러브' ,
'장르' : '코미디' ,
'개봉' : '2002년' ,
'국가' : '미국'
},
{
'제목' : '콜드 워' ,
'장르' : '로맨스' ,
'개봉' : '2018년' ,
'국가' : '폴란드'
}
]
for movie in example:
if movie['제목'] == '콜드 워':
print(movie['장르'])
# Output
로맨스
# movie 변수를 지정해준 후, key 및 value값을 지정해줌으로 인해 원하는 key값과 value값을 출력
list가 아닌 dictionary 안에 또다른 dictionary를 포함할 수도 있다.
즉 key
값을 주고, value
값으로 dictionary를 부여한다는 개념으로도 이해할 수 있을 것이다.
example = {
'영화_1' : {
'제목' : '닉과 노라의 인피니트 플레이리스트' ,
'장르' : '로맨틱 코미디' ,
'개봉' : '2008년' ,
'국가' : '미국'
},
'영화_2' : {
'제목' : '펀치 드렁크 러브' ,
'장르' : '코미디' ,
'개봉' : '2002년' ,
'국가' : '미국'
},
'영화_3' : {
'제목' : '콜드 워' ,
'장르' : '로맨스' ,
'개봉' : '2018년' ,
'국가' : '폴란드'
}
}
print(example['영화_2']['제목'])
# Output
펀치 드렁크 러브
# 영화_1,2,3의 key에 각각의 정보에 해당하는 자료들을 dictionary 형태로 할당
dictionary를 list화 시킬 수 있고, 또는 dictionary 자체를 value
화 시켜서 또다른 key에 할당할 수 있다.
list화 할 경우엔 당연히 변수를 list화 시켜야 하고,
nesting할 경우엔, (완전 당연하게도) 변수를 dictionary화 시키면 된다.
이렇게 글로 적으면 참 쉬워보이는데 막상 적용을 하려고 하면 헷갈린다 😵💫