Whiteship's Note

Dictionary(Map)

Python/Study : 2007. 2. 2. 21:03


Map 처럼 key, value 쌍으로 이루어진 것을 딕셔너리라고 부르는군요.

만드는 방법 : 변수명 = {Key1:Value1, Key2:Value2, Key3:Value3,,,,}
key로 value가져오기 : 변수명['key']
key, value 추가하기 : 변수명['추가 할 key'] = 추가할 value
key, value 삭제하기 : del 변수명['제거 할 쌍의 key']
>>> dic = {'name':'keesun', 'age':26, 'email':'keesun@email.com'}
>>> dic
{'age': 26, 'name': 'keesun', 'email': 'keesun@email.com'}
>>> print dic
{'age': 26, 'name': 'keesun', 'email': 'keesun@email.com'}
>>> dic['name']
'keesun'
>>> dic['age']
26
>>> dic['age'] + 1
27
>>> dic['name'] + 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
>>> dic
{'age': 26, 'name': 'keesun', 'email': 'keesun@email.com'}
>>> dic['city'] = 'seoul'
>>> dic
{'city': 'seoul', 'age': 26, 'name': 'keesun', 'email': 'keesun@email.com'}
>>> del['name']
  File "<stdin>", line 1
SyntaxError: can't delete literal
>>> del dic['name']
>>> dic
{'city': 'seoul', 'age': 26, 'email': 'keesun@email.com'}

주의할 것은 절대로 중복되는 key를 사용하지 말 것. 만약에 중복되는 키를 사용하면 중복된 키를 가진 쌍들 중에 하나를 남기고 나머진 사라지는데 어떤 것이 사라질지 예측 불가능입니다.

key값은 immutable해야 합니다. 따라서 list를 쓸 수 없습니다.
>>> dic[[1,2,3]] = 'number'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list objects are unhashable
>>> dic[(1,2,3)] = 'number'
>>> dic
{'city': 'daejun', 'age': 26, (1, 2, 3): 'number', 'email': 'keesun@email.com'}

value는 mutable하기 때문에 수정이 가능합니다.
>>> dic
{'city': 'seoul', 'age': 26, 'email': 'keesun@email.com'}
>>> dic['city'] = 'daejun'
>>> dic
{'city': 'daejun', 'age': 26, 'email': 'keesun@email.com'}

keys(), values(), items() 모두 리턴타입이 list 입니다.

이밖에 여러 메소드들은 이곳 제일 아래에서 참조 할 수 있습니다.

'Python > Study' 카테고리의 다른 글

if문  (0) 2007.02.03
리스트 복사  (0) 2007.02.02
빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
List  (2) 2007.02.02
문자열  (0) 2007.02.02
숫자형  (0) 2007.02.02
top

Write a comment.




: 1 : ··· : 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : ··· : 18 :