사전(Dictionary)은 강력하면서 알아두면 편리한 자료구조입니다. 짧은 키를 통해서 빠른 검색을 유도하는 구조입니다. 자바나 닷넷에서도 동일하게 제공됩니다.
>>> d = dict(a=1, b=3, c=5)
>>> d
{'a': 1, 'c': 5, 'b': 3}
>>> type(d)
<type 'dict'>
>>> color = {"apple":"red", "banana":"yellow"}
>>> color
{'apple': 'red', 'banana': 'yellow'}
>>> color[0] ==> 에러 발생
Traceback (most recent call last):
File "<pyshell#76>", line 1, in <module>
color[0]
KeyError: 0
>>> color["cherry"] = "red"
>>> color
{'cherry': 'red', 'apple': 'red', 'banana': 'yellow'}
>>> for c in color.items():
print(c)
('cherry', 'red')
('apple', 'red')
('banana', 'yellow')
>>> for k, v in color.items():
print(k, v)
('cherry', 'red')
('apple', 'red')
('banana', 'yellow')
>>> for k in color.keys():
print(k)
cherry
apple
banana
>>> for v in color.values():
print(v)
red
red
yellow
아래와 같이 다른 데모를 볼 수 있습니다.
d = {'one':'hana', 'two':'dul', 'three':'set'}
>>> d
{'three': 'set', 'two': 'dul', 'one': 'hana'}
>>> d['one']
'hana'
>>> d['four'] = 'net'
>>> d
{'four': 'net', 'three': 'set', 'two': 'dul', 'one': 'hana'}
>>> d['one'] = 1
>>> d
{'four': 'net', 'three': 'set', 'two': 'dul', 'one': 1}
>>> 'one' in d
True
>>> d.keys()
['four', 'three', 'two', 'one']
>>> d.values()
['net', 'set', 'dul', 1]
>>> d.items()
[('four', 'net'), ('three', 'set'), ('two', 'dul'), ('one', 1)]
연습을 위한 또 다른 데모입니다.
member = {'basketball':5, 'soccer':11, 'baseball':9}
member['baseball'] ==>키를 통해 값을 출력해 본다.
9
member['volleyball'] = 7 ==>값을 수정해 본다.
member
{'baseball': 9, 'basketball': 5, 'soccer': 11, 'volleyball': 7}
del member['basketball']
(사전식 구조의 메서드들 데모)
>>> phone = {'kim':2223333, 'lee':1231234, 'park':1112222 }
>>> phone.keys()
dict_keys(['park', 'lee', 'kim'])
>>> phone.values()
dict_values([1112222, 1231234, 2223333])
>>> 'park' in phone ==>값이 있는지를 조사한다.
True
>>> 'moon' in phone
False
>>> p = phone ==>참조가 복사되므로 한쪽이 수정되면 같이 변경된다.
>>> p
{'park': 1112222, 'lee': 1231234, 'kim': 2223333}
>>> phone['kim'] = 1111111
>>> p
{'park': 1112222, 'lee': 1231234, 'kim': 1111111}
>>> phone
{'park': 1112222, 'lee': 1231234, 'kim': 1111111}
>>> p2 = phone.copy() ==> 별도로 객체가 생성된다.
>>> phone['lee'] = 2222222
>>> phone
{'park': 1112222, 'lee': 2222222, 'kim': 1111111}
>>> p2
{'park': 1112222, 'lee': 1231234, 'kim': 1111111}
댓글 없음:
댓글 쓰기
참고: 블로그의 회원만 댓글을 작성할 수 있습니다.