[TIL_Python]딕셔너리

HYEYOON·2021년 1월 8일
0
post-thumbnail

1. 딕셔너리 사용하기

딕셔너리?
-연관된 값을 묶어서 사용하는 용도

📜리스트
lux = [490, 334, 550, 18.72]
리스트만 봐서는 각 값이 무엇을 뜻하는지 알 수 없다.
📜딕셔너리
lux = {'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}

1.1 딕셔너리 만들기

{}(중괄호) 안에 키:값 형식으로저장하며 각 키와 값은 ,로 구분해준다.
딕셔너리 = {키1: 값1, 키2: 값2}
키의 값은 하나만 지정할 수 있으며 이런 특성을 Key-value-pair라고 한다.
키 값이 중복되면 가장 뒤에 있는 값만을 사용한다.

값에는 리스트,딕셔너리 등 모든 자료를 사용할 수 있다.

x = {100: 'hundred', False: 0, 3.5: [3.5, 3.5]}
x
{100: 'hundred', False: 0, 3.5: [3.5, 3.5]}

키에는 리스트와 딕셔너리를 사용할 수 없다.

1.1.1 dict로 딕셔너리 만들기
dict는 다음과 같이 키와 값을 연결하거나, 리스트, 튜플, 딕셔너리로 딕셔너리를 만들 때 사용한다.
**딕셔너리 = dict(키1=값1, 키2=값2)

>>> lux1 = dict(health=490, mana=334, melee=550, armor=18.72)    # 키=값 형식으로 딕셔너리를 만듦
>>> lux1
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}

딕셔너리 = dict(zip([키1, 키2], [값1, 값2]))

>>> lux2 = dict(zip(['health', 'mana', 'melee', 'armor'], [490, 334, 550, 18.72]))    # zip 함수로 키 리스트와 값 리스트를 묶음
>>> lux2                                                             
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}

딕셔너리 = dict([(키1, 값1), (키2, 값2)])

>>> lux3 = dict([('health', 490), ('mana', 334), ('melee', 550), ('armor', 18.72)])
>>> lux3     # (키, 값) 형식의 튜플로 딕셔너리를 만듦
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72} 

딕셔너리 = dict({키1: 값1, 키2: 값2})

>>> lux4 = dict({'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72})     # dict 안에서 중괄호로 딕셔너리를 만듦
>>> lux4                                                           
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}

2.딕셔너리의 키에 접근하고 값 할당하기

딕셔너리[키]

>>> lux = {'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
>>> lux['health']
490
>>> lux['armor']
18.72

2.1 딕셔너리의 키에 값 할당하기

딕셔너리[키] = 값

>>> lux = {'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
>>> lux['health'] = 2037    # 키 'health'의 값을 2037로 변경
>>> lux['mana'] = 1184      # 키 'mana'의 값을 1184로 변경
>>> lux['mana_regen'] = 3.28    # 키 'mana_regen'을 추가하고 값 3.28 할당
>>> lux
{'health': 2037, 'mana': 1184, 'melee': 550, 'armor': 18.72, 'mana_regen': 3.28}

2.2 딕셔너리에 키가 있는지 확인하기

-in연산자 사용
키 in 딕셔너리
반대는
키 not in 딕셔너리

>>> lux = {'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
>>> 'health' in lux
True
>>> 'attack_speed' in lux
False
profile
Back-End Developer🌱

0개의 댓글