출처: 누구나 쉽게 배우는 파이썬 프로그래밍
(책 내용중 일부 수정 발췌하였습니다. 문제시 비공개로 전환하겠습니다.)
7. 파이썬 맵은 길을 찾는 데 도움을 주지 않는다.
키는 맵에 있는 좋아하는 스포츠의 값을 가리킨다.
키 |
값 |
Ralph Williams |
Football |
Michael Tippett |
Basketball |
Edward Elgar |
Baseball |
Rebecca Clarke |
Netball |
Ethel Symth |
Badminton |
Frank Bridge |
Rugby |
파이썬에서 맵(map)은 리스트와 튜플처럼 어떤 것들의 집합이다.(딕셔너리(dictionary)의
약어인 dict라고도 알려진 것이다.)
맵이 릿트나 튜플과 다른 차이점은 맵에 있느ㅜㄴ 각각의 항목들을 키(key)와 그에 대응하는 값(balue)을 갖는다는 것이다.
예를 들어, 사람들의 목록과 그들이 좋아하는 스포츠를 나타낸다면 다음과 같이 사람 이름 다음에 스포츠 이름으로 된 정보를
파이썬 리스트에 담을 수 있을 것이다.
>>> faborite_sports = ['Ralph Williams, Football','Michael Tippett, Basktball',
'Edward Elgar, Baseball',
'Rebecca Clarke, Netball',
'Ethel Smyth, Badminton',
'Frank Bridge, Rugby']
>>>
Rebecca Clarke 가 좋아하는 스포츠가 무엇인지 물어본다면,
여러분은 이 리스트를 검색한 다음에 그 답이 netball임을 알게 될 것이다.
하지만 만약에 리스트에 100명(또는 그 이상) 이 있다면 어떨까?
이제 이와 동일한 정보를 사람 이름을 키로, 좋아하는 스포츠를 값으로
맵에 담는다면 파이썬 코드는 다음과 같을 것이다.
>>> favorite_sports = {'Ralph Wiklliams' : 'Football',
'Michael Tippett' : 'Basketball',
'Edward Elgar' : 'Baseball',
'Rebcca Clarke' : 'Netball',
'Ethel Smyth' : 'Badminton',
'Frank Bridge' : 'Rugby'}
>>>
각각의 키와 값을 구분하기 위해서 콜론을 사용하며, 각 키와 값은 홀따옴표로 둘러싸인다.
역시 주목해야 할 것은 맵에 있는 항목들을 소활호나 대활호가 아닌 중괄호({ })로 묶인다는 점이다.
이 결과인 맵(각 키가 특정 값에 매핑됨)
이제 Rebecca Clarke이 좋아하는 스포츠를 알기 위해서 다음과 같이 그녀의 이름을 키로 사용하여
우리의 맵인 favorite_sports에 접근한다.
>>> print(favorite_sports['Rebcca Clarke'])
Netball
그러면 정답이 Netball임이 나온다.
맵에서 어떤 값을 삭제하려면 삭제하려는 키를 이용한다.
예를 들어 다음 Ethel Smyth를 삭제하는 방법이다.
>>> del favorite_sports['Ethel Smyth']
>>> print(favorite_sports)
{'Ralph Wiklliams': 'Football', 'Michael Tippett': 'Basketball', 'Rebcca Clarke': 'Netball', 'Edward Elgar': 'Baseball', 'Frank Bridge': 'Rugby'}
>>>
맵에 있는 값을 변경하는 데에도 마찬가지로 키를 이용한다.
>>> favorite_sports['Ralph Williame'] = 'Ice Hockey'
>>> print(favorite_sports)
{'Ralph Wiklliams': 'Football', 'Ralph Williame': 'Ice Hockey', 'Michael Tippett': 'Basketball', 'Rebcca Clarke': 'Netball', 'Edward Elgar': 'Baseball', 'Frank Bridge': 'Rugby'}
>>>
Ralhh Williams라는 키를 사용하여 좋아하는 스포츠를 Football에서 Ice Hockey로 변경했다.
여러분이 보면 알겠지만 맵을 가지고 작업하는 것은 리스트나 퓨플을 가지고 작업하는 것과 비슷하다.
다만, 맵은 더하기 연산자(+) 로 결합할 수가 없다.
만약에 결합하려고 시도해본다면 다음과 같은 에러 메시지가 나타날 것이다.
>>> favorite_sports = {'Rebecca Clarke': 'Netb all','Michael Tippett': 'Basketball','Ralph Williams': 'Ice Hockey','Edward Elgar': 'Baseball', 'Frank Bridge': 'Rugby'}
>>> faborite_sports + favorite_colors
Traceback (most recent call last):
File "<pyshell#84>", line 1, in <module>
faborite_sports + favorite_colors
NameError: name 'favorite_colors' is not defined
>>>
맵을 결합하는 것은 파이썬이 이해하지 못하므로 이 작업은 포기하자.
'Python' 카테고리의 다른 글
9. IF문 (0) | 2016.12.01 |
---|---|
8. 거북이(turtle)로 그림 그리기 (0) | 2016.12.01 |
6. 튜플 (0) | 2016.12.01 |
5. 리스트 연산 (0) | 2016.12.01 |
4. 리스트에서 항목 삭제하기 (0) | 2016.12.01 |