PYTHON
딕셔너리
yuurimingg
2023. 12. 23. 00:11
In [1]:
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity="all"
import warnings
warnings.filterwarnings('ignore')
딕셔너리 만들기¶
- 딕셔너리 = {key1 : value1, key2 : value2, ..}
In [2]:
lux = {'health' : 490, 'mana' : 334, 'melee' : 550, 'armor' : 18.72}
lux
Out[2]:
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
특정 key값에 해당하는 value 출력
In [3]:
lux['health']
Out[3]:
490
key 이름이 중복이면 마지막에 나온 값만 사용
In [5]:
lux = {'health' : 490, 'health' : 334, 'melee' : 550, 'armor' : 18.72}
lux
Out[5]:
{'health': 334, 'melee': 550, 'armor': 18.72}
- value에는 리스트, 딕셔러니를 사용할 수 있다
- key에는 문자열, 정수, 실수, bool을 사용(섞어서 사용 O)
- key에는 리스트, 딕셔러니 사용 X
In [6]:
x = {100 : 'hundred', False : 0, 3.5 : [3.5, 3.5]}
x
Out[6]:
{100: 'hundred', False: 0, 3.5: [3.5, 3.5]}
빈 딕셔너리 만들기¶
- dic = {}
- dic = dict()
In [7]:
dic = {}
dic
Out[7]:
{}
In [8]:
dic = dict()
dic
Out[8]:
{}
dict를 이용해 딕셔너리 생성¶
- dic = dict(key1 = value1, key2 = value2, ..)
=> key에 ' ', " "를 사용 X
- dic = dict([(key1, value2), {key2, value2), ...])
- dic = dict(zip([key1, key2], [value1, value2], ...))
- dic = dict({key1 : value1, key2 : value2, ...})
key = value
In [9]:
lux = dict(health = 490, mana = 334, melee = 550, armor = 18.72)
lux
Out[9]:
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
리스트 안에 (key, value)
In [10]:
lux = dict([('health', 490), ('mana', 334), ('melee', 550), ('armor', 18.72)])
lux
Out[10]:
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
zip
In [11]:
lux = dict(zip(['health', 'mana', 'melee', 'armor'], [490, 334, 550, 18.72]))
lux
Out[11]:
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
dict 안에 {}를 이용
In [12]:
lux = dict({'health' : 490, 'mana' : 334, 'melee' : 550, 'armor' : 18.72})
lux
Out[12]:
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
딕셔너리 key에 접근하고 값 할당하기¶
- dic[key]
- dic[key] = value
In [13]:
lux = {'health' : 490, 'mana' : 334, 'melee' : 550, 'armor' : 18.72}
lux
Out[13]:
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
In [14]:
lux['health']
lux['armor']
Out[14]:
490
Out[14]:
18.72
In [15]:
lux = {'health' : 490, 'mana' : 334, 'melee' : 550, 'armor' : 18.72}
lux
Out[15]:
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
In [16]:
lux['health'] = 2037
lux['mana'] = 1184
lux
Out[16]:
{'health': 2037, 'mana': 1184, 'melee': 550, 'armor': 18.72}
딕셔너리에 key, value 추가¶
In [17]:
lux = {'health' : 490, 'mana' : 334, 'melee' : 550, 'armor' : 18.72}
lux
Out[17]:
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
In [19]:
lux['a'] = 1000
lux
Out[19]:
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72, 'a': 1000}
In [20]:
lux = {'health' : 490, 'mana' : 334, 'melee' : 550, 'armor' : 18.72}
lux
lux['a'] = [10, 20, 30]
lux
Out[20]:
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
Out[20]:
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72, 'a': [10, 20, 30]}
딕셔너리에 키가 있는지 확인¶
- key in dict
- key not in dict
In [21]:
lux = {'health' : 490, 'mana' : 334, 'melee' : 550, 'armor' : 18.72}
'health' in lux
'a' in lux
Out[21]:
True
Out[21]:
False
딕셔너리의 key 개수 구하기¶
- len(dict)
In [22]:
lux = {'health' : 490, 'mana' : 334, 'melee' : 550, 'armor' : 18.72}
len(lux)
Out[22]:
4