• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

dictionary 실습 질문

22.03.15 23:27 작성 조회수 130

0

simon님 안녕하세요

dictionary 실습 강의 중 궁금한 것이 생겼는데요,

a['thing'] = a.pop('fruit')

을 실행하면 결과값이 'thing' : 'banana'가 되는 이유는 무엇인가요?

print(a.pop('fruit')을 실행하면 'banana'가 출력되는데

a['thing'] = 'banana' 이니까

바나나의 자리에 thing 이 되어야 하는 거 아닌가요?

thing이 바나나라는 value를 찾아 해당하는 key 값에 thing이 대입되는 과정이 궁금합니다!

답변 1

답변을 작성해보세요.

2

김다애님 안녕하세요. 

 

dictionary 를 만들때 

a = {"fruit":"banana", "quantity":10, "discount":True}

그럼 Key는 fruit, quantity, discount이고 Value는 banana, 10, True이죠?

그리고 질문주신내용이 

a["thing"] = a.pop("fruit")

이 코드죠? 그럼 한줄 한줄 해석해볼께요. 

 

a.pop("fruit") 를 돌리면 "banana"가 반환되면서 fruit:banana의 Key:Value 페어는 dictionary a에서 사라집니다. 

그럼 위 코드를 다음과 같이 해석할 수 있습니다.

a["thing"] = "banana"

banana는 사라졌지만 thing이라는 새로운 Key 이름으로 대처한다음 새로운 Key:Value페어를 넣는거기 때문에 다시 banana가 dictionary  a에 들어오는 거에요. 다만 이제는 Key가 fruit이 아닌 thing으로 바뀌는 거죠.

 

이렇게 pop 함수를 사용하여 Key이름을 바꿀 수 있어요. 또한  새로운 Key:Value 페어를 만들때 사용되어지는 문법이랍니다. 

 

도움이 되었으면 좋겠습니다! 또 궁금한점 있으면 알려주세요.감사합니다.