03 dictionary
| 5 Minute Read on Python
Dictionary¶
- 파이썬에서 dictionary는 해시테이블이다. 이 테이블에 key 객체와 value 객체가 해시 기법을 사용하여 저장된다.
- 해쉬 테이블은 Key에 Value를 저장하는 데이타 구조로, value := get(key)에 대한 기능이 매우매우 빠르게 작동한다.
- Dictionary의 key와 value는 어떤 자료형이라도 상관없다.
- Key는 고유한 값이므로 중복되는 Key 값을 설정해 놓으면 하나를 제외한 나머지 것들이 모두 무시된다. 즉 .Key는 유일하며 순서가 없다.
- 유용한 매소드로는 keys, values, items, update 등이 있다.
- Dictionary는 순위를 지정할 수 없지만 Orderdict 사용하면 지정 할 수 있다.
In [1]:
# Dictionary 생성
a = {'k':'v','k2':3}
print(a['k'])
print(a['k2'])
In [2]:
# in operator 딕셔너리에 해당 키가 있는지 검사하기
'k' in a
Out[2]:
In [3]:
# keys() keys 리스트 만들기
a.keys()
Out[3]:
In [4]:
# values() Value 리스트 만들기
a.values()
Out[4]:
In [5]:
# in operator와 values()를 사용하여 딕셔너리에 해당 밸류가 있는지 검사하기
'v' in a.values()
Out[5]:
In [6]:
# 딕셔너리 키, 값 쌍 튜플로 가져오기 : items()
a.items()
Out[6]:
In [7]:
# 키로 값 가져오기 : get(key)
print(a['k'])
print(a.get('k'))
In [8]:
# dictionary는 중첩 될 수 있다.
aa = {'x':3, 'y':54, 'z':{'a':1, 'b':2}}
print(aa['z'])
print(aa['z']['a'])
In [9]:
# Dictionary 선언하는 또 다른 방법
a = dict(k = 'v', h2 = 3)
print(a)
In [10]:
# update
a.update({'n1':'new item'})
print(a)
In [11]:
# update 하는 또 다른 방법
a.update(dict(n2='newer item'))
print(a)
In [12]:
# update 하는 또 다른 방법
a['n3'] = 'newest item'
print(a)
In [13]:
# items 매소드는 튜플들의 리스트를 만들어낸다.
print(a.items())
In [14]:
# del 명령어로 삭제 할 수 있다.
a = dict(k='v', h2 =3)
print(a)
del a ['h2']
print(a)