dict의 key-value를 뒤집는 방법


dict가 map = { 'a': 1, 'b':2 } 있을 때 key-value를 뒤집어서

inv_map = { 1: 'a', 2: 'b' } 이렇게 만들고 싶습니다.

key-value 쌍을 뒤집는 방법은 뭐가 있나요?

  • 2016년 01월 27일에 작성됨

조회수 170


1 답변


좋아요
0
싫어요
채택취소하기

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로 다시 변환됩니다.

  • 2016년 01월 27일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close