프로그래밍 언어/Python

파이썬 Python 실습 :: 딕셔너리 실습 (키와 값)

gamjadori 2024. 1. 9. 10:07
728x90

<딕셔너리 키와 값>

  • 'a'(키): 10(값)
  • 키: 딕셔너리에 저장된 해당 값을 참조하는 데 사용되는 고유 식별자

<키 값 추가>

a = {'a': 10, 'b': 20, 'c': 30, 'd': 40}

** (딕셔너리 이름).setdefault('', 값): 키 값 추가
>>> a.setdefault('e', 50)
>>> print(a)
{'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': 50}

>>> a.setdefault('f') // 키만 추가되고 값은 None으로 설정
>>> print(a.setdefault('f')) // 딕셔너리 a의 f의 값을 출력해
None
>>> print(a)
{'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': 50, 'f': None}

>> a['g'] = 60으로도 키 값 추가 가능
** 한계: 추가가 잘 됐는지 출력이 안 되기 때문에, if 조건문으로 키 값 출력 확인 가능

>>> if a['g'] == 60:
	    print('잘함.')
>>> if a.setdefault('g', 60) == 60:
	    print('잘했음.')

 

<키 값 수정>

기존 딕셔너리 a: {'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': 50, 'f': None}
>>> a.update(f=70, h=20)
>>> print(a)
{'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': 50, 'f': 70, 'g': 60, 'h': 20}
** 존재하지 않는 키를 수정하면 자동으로 키를 추가하면서 값을 수정

 

<키 값 삭제>

  • 딕셔너리.pop(’삭제 대상 키’): 삭제되는 키의 값 출력
  • del 딕셔너리[’삭제 대상 키']: 삭제되는 키의 값을 출력하지 않아 print로 결과 확인 필요
  • 딕셔너리.popitem(): 마지막 순서의 키 삭제
  • 딕셔너리.clear(): 딕셔너리의 모든 키:값 삭제
>>> print(a)
{'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': 50, 'f': 70, 'g': 60, 'h': 20}
>>> a.pop('e')
50 // e의 값을 출력하면서 e 삭제
>>> print(a)
{'a': 10, 'b': 20, 'c': 30, 'd': 40, 'f': 70, 'g': 60, 'h': 20}

>>> del a['c']
>>> print(a)
{'a': 10, 'b': 20, 'd': 40, 'f': 70, 'g': 60, 'h': 20}

>>> print(a.popitem()) # 마지막 순서의 키: 값 삭제
('h', 20)

>>> a.clear()
>>> print(a)
{}

>>> c = {'a': 1, 'b': 2, 'c': 3}
>>> print(c['a'], c.get('a'))
1 1
print(c.items(), type(c.item())) # 키, 값을 튜플로 만들어 줌.
print(c.keys(), type(c.keys())) # 전체 키만 리스트로 만들어 줌.
print(c.values(), type(c.values())) # 전체 값만 리스트로 만들어 줌.
for i in c:
    print(i)
for i in c.values():
    print(i)
for key, value in c.items():
    print(key, value)

 

<딕셔너리 출력>

  • 딕셔너리.get('딕셔너리 요소'): 딕셔너리에서 주어진 키(key)에 해당하는 값을 출력
  • (= 딕셔너리[’키’])
>>> c = {'a': 1, 'b': 2, 'c': 3}
>>> print(c['a'], c.get('a'))
1 1

 

<딕셔너리 변환>

** 딕셔너리.items(): 키, 값을 튜플(타입: dict_items)로 변환
** 튜플: () 형식
>>> print(c.items(), type(c.items()))
dict_items([('a', 1), ('b', 2), ('c', 3)]) <class 'dict_items'>
** 딕셔너리.keys(): 전체 키만 리스트로 만들어 출력 (타입: dict_keys)
>>> print(c.keys(), type(c.keys()))
dict_keys(['a', 'b', 'c']) <class 'dict_keys'>

** 딕셔너리.values(): 전체 값만 리스트로 생성 (타입: dict_values)
>>> print(c.values(), type(c.values()))
dict_values([1, 2, 3]) <class 'dict_values'>

>>> for i in c:
	    print(i) >> 딕셔너리의 키만 가져옴
>>> for i in c.values():
	    print(i) >> 딕셔너리의 값만 가져옴
>>> for key, value in c.items(): // c.items()가 키와 값을 모두 가져오는 함
	    print(key, value)
a 1
b 2
c 3 >> 딕셔너리의 키와 값을 모두 가져옴