dict의 key-value를 뒤집는 방법
조회수 8247회
dict가
map = { 'a': 1, 'b':2 }
있을 때 key-value를 뒤집어서
inv_map = { 1: 'a', 2: 'b' }
이렇게 만들고 싶습니다.
key-value 쌍을 뒤집는 방법은 뭐가 있나요?
1 답변
-
2.7+/3+에서 :
inv_map = {v: k for k, v in map.items()}
으로 쓰면 됩니다.코드 설명은
for k, v in map.items()
에서 k, v가 각각 key, value를 받아와서{v:k}
의 key-value가 뒤집힌 dict형식으로 다시 저장하는 코드입니다.2.6이하에서 :
dict((v, k) for k, v in map.iteritems())
로 써야 합니다.코드 설명은 여기에서도
for k, v in map.items()
에서 k, v가 각각 key, value를 받아와(v,k)
의 key-value가 뒤집힌 제너레이터로 임시 저장된 후,dict()
에서 제너레이터가 dict로 다시 변환됩니다.
댓글 입력