딕셔너리 (Dictionaries) |
딕셔너리는 (key, value)를 저장하는데 key는 구분자이고 value는 내용이다. 예를들어 사전에서 apple을 찾는다고하자. apple은 key가 되는것이고 apple에 대한 설명이 value 가 되는것이다.
>>> dic = {'G.ma':'blog','Jiyeon':'person'} # 딕셔너리 초기화
>>> print dic['Jiyeon'] # dic에서 'Jiyeon' 인 키를 찾아 value를 출력한다.
person
>>> print 'Jiyeon' in dic # dic안에 'Jiyeon'이라는 키가 있는지 찾는다. 있으면 True 출력
True
>>> dic['cat'] = 'animal' # dic에 key와 value를 추가한다.
>>> print dic['cat']
animal
>>> print dic['dog'] # key가 'dog'인 원소를 찾지못하여 키 에러가 난다.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'dog'
>>> print dic.get('dog','not available') # dog를 찾지 못하면 'not available'을 출력한다.
not available
>>> del dic['cat'] # key가 cat인 원소를 제거한다.
>>> print dic
{'G.ma': 'blog', 'Jiyeon': 'person'}
- 딕셔너리 루프(Loops)
>>> dic2 = {'person':2,'dog':4,'spider':8}
>>> for x in dic2:
... legs = dic2[x]
... print 'A %s has %d legs' % (x,legs)
...
A person has 2 legs
A dog has 4 legs
A spider has 8 legs
>>> for x,leg in dic2.iteritems():
... print 'A %s has %d legs' % (x,legs)
...
A person has 8 legs
A dog has 8 legs
A spider has 8 legs
iteritems()함수 -> key와 value둘다 반환해준다.
- 딕셔너리의 이해
>>> numbers = range(5)
>>> print numbers
[0, 1, 2, 3, 4]
>>> even_num2square = {x:x**2 for x in numbers if x % 2 == 0}
>>> print even_num2square
{0: 0, 2: 4, 4: 16}
'FALL in > G.MA's 파이썬' 카테고리의 다른 글
[파이썬 함수] (0) | 2016.03.26 |
---|---|
[파이썬 Containers] - 튜플 (0) | 2016.03.26 |
[파이썬 Containers] - 집합 (0) | 2016.03.22 |
[파이썬 Containers] - 리스트 (0) | 2016.03.21 |
[파이썬 기본 데이터 타입] - 수치, 논리, 문자열 (0) | 2016.03.21 |