파이썬 딕셔너리: 생성부터 활용까지

YeHee·2024년 12월 16일

⏰ 2024.12.11 (D+45)

1. 딕셔너리 생성 방법

1) 빈 딕셔너리 생성

emptyDict = {}
emptyDict = dict()

2) 키-값 쌍으로 생성

dict_ = {'name': '홍길동', 'age': 25, 'addr': '서울'}

3) dict() 생성자 사용

dict_ = dict(name='홍길동', age=25, addr='서울')

4) 리스트나 튜플을 사용해 생성

list_ = [('name', '홍길동'), ('age', 25), ('addr', '서울')]
dict_ = dict(list_)

5) zip()을 사용해 생성

keys = ['name', 'age', 'addr']
values = ['홍길동', 25, '서울']
dict_ = dict(zip(keys, values))

2. 딕셔너리 읽기 및 수정

1) 값 읽기

print(dict_['name'])  # 키가 없으면 KeyError 발생
print(dict_.get('name'))  # 키가 없으면 None 반환
print(dict_.get('height', '키가 없습니다'))

2) 값 수정 및 추가

dict_['age'] = 30  # 값 수정
dict_['height'] = 175  # 새로운 키 추가

3. 주요 메소드

1) setdefault() - 키 추가

dict_.setdefault('weight', 70)  # 키가 없을 때만 추가

2) update() - 여러 값 수정 및 추가

dict_.update(addr='부산', weight=80)

3) pop() - 키로 요소 삭제

dict_.pop('age')  # 키에 해당하는 값 반환 후 삭제

4) popitem() - 마지막 요소 삭제

dict_.popitem()  # (,) 튜플 반환

5) clear() - 전체 삭제

dict_.clear()

4. 딕셔너리 순회 및 삭제

1) 딕셔너리 순회

for key, value in dict_.items():
    print(key, value)

2) 키 존재 여부 확인 (in 연산자)

if 'name' in dict_:
    print('name 키가 존재합니다')

5. 딕셔너리 표현식

  • 기존 딕셔너리에서 특정 조건을 만족하는 요소만 필터링하거나 값을 변환
  • 새로운 딕셔너리를 생성하는 방식

1) 모든 값을 'Python'으로 변경

new_dict = {key: 'Python' for key in dict_}

2) 값만 소문자로 변환

new_dict = {key: value.lower() for key, value in dict_.items()}

3) 특정 키 제외하고 필터링

filtered_dict = {key: value for key, value in dict_.items() if key != 'addr'}

6. 실전 예제: 여러 키 삭제하기

delete_keys = [key for key in dict_ if key != 'contact']
for key in delete_keys:
    del dict_[key]

7. 딕셔너리 메소드 총정리

메소드 설명
setdefault 키 추가 (기본값 설정 가능)
update 여러 값 수정 및 추가
pop 키로 요소 삭제 (반환값 존재)
popitem 마지막 요소 삭제
clear 모든 요소 삭제
copy 딕셔너리 복제
get 값 읽기 (기본값 설정 가능)
items (키, 값) 쌍 반환
keys 키 반환
values 값 반환

0개의 댓글