01. Python 기초- 메소드 : 딕셔너리(dict) 편

ID짱재·2021년 2월 20일
0

Python

목록 보기
13/39
post-thumbnail

1. 딕셔너리 삭제 : pop(), del

  • pop() : key값을 인자로 넣어 딕셔너리 안에 데이터쌍을 삭제
  • del을 이용해도 같은 기능을 함

✍🏻 pop() : 데이터를 삭제

score = {'kor':80, 'eng':90, 'mat':97, 'computer':100}
score.pop('computer')
print(score) # {'kor': 80, 'eng': 90, 'mat': 97}
del score['mat']  # del로 삭제 가능
print(score) # {'kor': 80, 'eng': 90}
# del score
# print(score) # score가 완전 삭제되어 오류(NameError: name 'score' is not defined) 발생

2. 데이터 모두 삭제하여 빈 딕셔너리 만들기 : clear()

  • clear() 을 실행하면 딕셔너리에 모든 데이터쌍이 삭제됨

✍🏻 clear() : 모든 데이터 삭제

score = {'kor':80, 'eng':90, 'mat':97, 'computer':100}
score.clear()
print(score) # {} -> 빈 딕셔너리가됨

3. key로 value값 가져오기 : get(key)

  • get()의 인자로 key를 넣어 실행하면 해당 key의 value값을 반환
  • 해당 key가 dict에 없으면, None을 반환하기 때문에 더 안전한 방법임

✍🏻 get() : key로 value값 가져오기

score = {'kor':80, 'eng':90, 'mat':97}
get_score = score.get('mat')
print(get_score) # 97

4. key값을 모두 가져오기 : keys()

  • keys()를 통해 key값을 모두 가져온 뒤, 형변환을 해주면 key값들만 다루기 편함

✍🏻 keys() : key값을 모두 가져오기

score = {'kor':80, 'eng':90, 'mat':97}
keys_score = score.keys()
print(keys_score) # dict_keys(['kor', 'eng', 'mat'])
print(list(keys_score)) # ['kor', 'eng', 'mat'] -> key값만 리스트로 형변환
print(tuple(keys_score)) # ('kor', 'eng', 'mat') -> key값만 튜플로 형변환
print(set(keys_score)) # {'eng', 'kor', 'mat'} -> key값만 집합으로 형변환

5. value값을 모두 가져오기 : values()

  • values()를 통해 value값을 모두 가져온 뒤, 형변환을 해주면 value값들만 다루기 편함

✍🏻 values() : value값을 모두 가져오기

score = {'kor':80, 'eng':90, 'mat':97}
values_score = score.values()
print(values_score) # ddict_values([80, 90, 97])
print(list(values_score)) # [80, 90, 97] -> value값만 리스트로 형변환
print(tuple(values_score)) # (80, 90, 97) -> value값만 튜플로 형변환
print(set(values_score)) # {80, 97, 90} -> value값만 집합으로 형변환

6. key와 value값 모두 가져오기 : items()

  • key와 value값 한 쌍씩 튜플로 만들어 반환함

✍🏻 items() : key와 value값 모두 가져오기

score = {'kor':80, 'eng':90, 'mat':97}
itmes_score = score.items()
print(itmes_score) # dict_items([('kor', 80), ('eng', 90), ('mat', 97)])
print(list(itmes_score)) # [('kor', 80), ('eng', 90), ('mat', 97)] -> key와 value값을 튜플에 담아 리스트로 형변환
print(tuple(itmes_score)) # (('kor', 80), ('eng', 90), ('mat', 97)) -> key와 value값만 튜플에 담아 튜플로 형변환
print(set(itmes_score)) # {('eng', 90), ('mat', 97), ('kor', 80)} -> key와 value값 튜플에 담아 집합으로 형변환

7. 해당 key에 대한 값을 반환하고, 그 항목을 삭제 : pop(key)

  • 해당 key가 dict안에 없다면, KeyError 예외를 발생시킴

✍🏻

score = {'kor':80, 'eng':90, 'mat':97}
pop_data = score.pop('eng')
print(pop_data) # 90
print(score) # {'kor': 80, 'mat': 97}
# 이미 'eng'를 key로 가진 항목을 제거했기 때문에 다시 제거를 요청하면 KeyError 발생
pop_data = score.pop('eng') # KeyError: 'eng'

8. 마지막 항목(key, value)을 반환하고 그 항목을 삭제 : popitem()

  • 마지막 항목 튜플 형태(key, value)를 반환하고 삭제함

✍🏻

score = {'kor':80, 'eng':90, 'mat':97}
pop_data = score.popitem()
print(pop_data) # ('mat', 97) 
print(score) # {'kor': 80, 'eng': 90}
pop_data = score.popitem() 
print(pop_data) # ('eng', 90)
print(score) # {'kor': 80}
pop_data = score.popitem()
print(pop_data) # ('kor', 80)
print(score) {}
``
profile
Keep Going, Keep Coding!

0개의 댓글