스터디 그룹/ProjectH4C

ProjectH4C 1개월 2주차 과제 (UNIT 25, 26)

📖 UNIT 25. 딕셔너리 응용하기

📒딕셔너리에 Key, Value 추가하기

딕셔너리도 리스트와 조작하는 방법이 동일하다고 할 수 있다. 차이점은 딕셔너리는 키와 밸류의 대응이 있다는 점이다.

먼저 딕셔너리에 추가하는 메서드들을 먼저 알아보자.

 

  • setdefault : key-Value 쌍 추가
  • update : Key의 Value 수정, Key가 없으면 Key와 Value 추가
x = {'a': 10, 'b': 20, 'c': 30, 'd': 40}
x.setdefault('e', 50)

이렇게 x 딕셔너리에 Key와 Value를 동시에 넣을 수 있다. 조심할 점은 Value없이 Key만 넣는다면 (인자를 한개만 전달한다면)
Value에는 None값이 들어가게 된다.

 

그럼 이제 값 수정을 어떻게 진행할까? 바로 update 메서드를 이용해서 진행이 된다.

x = {'a': 10, 'b': 20, 'c': 30, 'd': 40}
x.update(a=90)

이런 방법으로 업데이트를 진행하면 a key에는 90이라는 value가 들어가진다.

만일 해당하는 key가 존재하지 않는다면, 새로 만들게 된다.

 

하지만 Key=Value 꼴은 Key가 문자열일 때만 가능하다. 만약 문자열이 아니라면, {Key:Value}의 꼴로 딕셔너리 형태를 유지해서 update 메서드에 넘겨주어야 한다.

 

📒딕셔너리에서 특정 요소 삭제하기

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

이런 딕셔너리가 있다고 생각을 해보자.

Value만 pop하고 싶다 : x.pop('a')

Key와 Value를 튜플로 pop하고싶다 : x.popitem('a')

pop과 popitem 모두 해당하는 Key가 존재하지 않을 때, 기본 값을 반환시킬 수도 있다. (x.pop('a', 0))

그냥 지우고싶다면, del을 사용하자. 

 

모든 쌍을 삭제하고 싶다 : x.clear() 를 해주면 된다.

 

📒딕셔너리에서 값 가져오기

딕셔너리에서 키의 값을 가져오고 싶다면 get 메서드를 사용하면 된다.

x = {'a': 10, 'b': 20, 'c': 30, 'd': 40}
x.get('a')
  • items: 키-값 쌍을 모두 가져옴
  • keys: 키를 모두 가져옴
  • values: 값을 모두 가져옴

📒반복문으로 딕셔너리 출력하기

첫 번째로, Key와 Value를 모두 출력해보자.

x = {'a': 10, 'b': 20, 'c': 30, 'd': 40}
for key, value in x.items():
    print(key, value)

꽤 깔끔하게 출력이 된다.

여기서 키, 벨류만 따로 뽑아서 출력할 수도 있겠지만,

 

for key in x.keys():
for value in x.values():

위의 두 반복문으로 key들만 따로, value들만 따로 뽑아낼 수 있다.

 

딕셔너리 안에는 또 딕셔너리를 넣을 수 있다.

 

📒딕셔너리의 할당과 복사

  • 단일 딕셔너리 : copy 메서드
  • 중첩 딕셔너리 : copy.deecopy 함수

📖 UNIT 25. 세트너리 조작하기

세트는 리스트와 똑같이 생각해주면 된다. 그러나 그 형태가 딕셔너리를 띄고 있다.

그러므로 생략하겠다.