03 dictionary

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'])
v
3
In [2]:
# in operator  딕셔너리에 해당 키가 있는지 검사하기 
'k' in a
Out[2]:
True
In [3]:
# keys()  keys 리스트 만들기
a.keys()
Out[3]:
dict_keys(['k2', 'k'])
In [4]:
# values()  Value 리스트 만들기
a.values()
Out[4]:
dict_values([3, 'v'])
In [5]:
# in operator와 values()를 사용하여  딕셔너리에 해당 밸류가 있는지 검사하기 
'v' in a.values()
Out[5]:
True
In [6]:
# 딕셔너리 키, 값 쌍 튜플로 가져오기 : items()
a.items()
Out[6]:
dict_items([('k2', 3), ('k', 'v')])
In [7]:
# 키로 값 가져오기 : get(key)
print(a['k'])
print(a.get('k'))
v
v
In [8]:
# dictionary는 중첩 될 수 있다.
aa = {'x':3, 'y':54, 'z':{'a':1, 'b':2}}
print(aa['z'])
print(aa['z']['a'])
{'a': 1, 'b': 2}
1
In [9]:
# Dictionary 선언하는 또 다른 방법
a = dict(k = 'v', h2 = 3)
print(a)
{'h2': 3, 'k': 'v'}
In [10]:
# update
a.update({'n1':'new item'})
print(a)
{'h2': 3, 'n1': 'new item', 'k': 'v'}
In [11]:
# update 하는 또 다른 방법
a.update(dict(n2='newer item'))
print(a)
{'h2': 3, 'n1': 'new item', 'k': 'v', 'n2': 'newer item'}
In [12]:
# update 하는 또 다른 방법
a['n3'] = 'newest item' 
print(a)
{'h2': 3, 'n1': 'new item', 'k': 'v', 'n3': 'newest item', 'n2': 'newer item'}
In [13]:
# items 매소드는 튜플들의 리스트를 만들어낸다.
print(a.items())
dict_items([('h2', 3), ('n1', 'new item'), ('k', 'v'), ('n3', 'newest item'), ('n2', 'newer item')])
In [14]:
# del 명령어로 삭제 할 수 있다. 
a = dict(k='v', h2 =3)
print(a)
del a ['h2']
print(a)
{'h2': 3, 'k': 'v'}
{'k': 'v'}


© 2017. All rights reserved.

Powered by ZooFighter v0.12