티스토리 뷰

Python

[Python] Delete a Key

Dongi 2022. 2. 12. 06:19

 

 

 

안녕하세요 동기 여러분!

오늘은 딕셔너리에서 key와 value를 빼내는 .pop() 메서드에 대해 알아봅시다!

 

 

 

 

.pop() 메서드

.pop() 메서드는 사실 '제거한다'라기 보단 '값을 빼낸다'라는 말이 더욱 어울리는 메서드입니다. 예전에 리스트에서 .pop메서드를 공부할 때 리스트의 요소를 인덱스 번호로 삭제한다고 배웠었습니다. 아래를 보시죠!

 

pc_components = ["Graphics Cards", "Memory", "Motherboards", "CPU Processors", "Computer Cases"]
pc_components.pop(0)

print(pc_components)

# 출력값 : ['Memory', 'Motherboards', 'CPU Processors', 'Computer Cases']

위의 코드를 보면 .pop() 메서드로 인덱스 번호 0 번인 요소를 빼내 왔기 때문에 pc_components를 출력하면 "Graphics Cards"가 사리진 것을 확인할 수 있습니다. 하지만! 아래의 코드를 보시죠!

 

pc_components = ["Graphics Cards", "Memory", "Motherboards", "CPU Processors", "Computer Cases"]
print(pc_components.pop(0))

# 출력값 : Graphics Cards

pc_components.pop(0) 자체를 출력해보면 Craphics Cards가 나옵니다! 와우!

 

"아하 그렇다면 .pop() 메서드는 삭제를 하는 메서드가 아니라 값을 빼내 오기 때문에 리스트에 있던 요소는 사라지고 값은 빼내 올 수 있구나!"라고 생각 해야겠죠!

 


 

딕셔너리에서 .pop() 메서드

우리가 위에서 정한 정의는 사전에서도 동일하게 적용됩니다. 일단 어떻게 사용하는지 봅시다.

 

딕셔너리이름.pop(키 이름, 키가 없다면 가져오고 싶은 값)

어제의 .get() 메서드와 상당히 비슷하게 생겼습니다.

 


 

해봅시다!

저는 애플 컴퓨터를 사는 것이 꿈입니다. 그래서 오늘은 애플 상점에서 쇼핑을 해보도록 하죠! (물론 게임 전용으로 컴퓨터가 필요하시다면 윈도우 컴퓨터가 훨씬 나음) - 아 오늘은 원이 아닌 캐나다 달러 기준으로 코드를 작성하겠습니다.

 

apple_store = {"MacBook Pro16\"": 2499, "MacBook Pro14\"": 1999, "iMac 27\"": 2299, "Magic Mouse": 79, "Magic Keyboard": 179}

total_spend = 0

애플 스토어에 동기가 쇼핑을 하러 왔습니다. 14인치 맥북 프로는 화면이 너무 작으니까 16인치를 사고 싶습니다. .pop()메서드로 빼내서 total_spend에 값을 더해봅시다!


apple_store = {"MacBook Pro16\"": 2499, "MacBook Pro14\"": 1999, "iMac 27\"": 2299, "Magic Mouse": 79, "Magic Keyboard": 179}

total_spend = 0

total_spend += apple_store.pop("MacBook Pro16\"")

print(total_spend)

# 출력값 : 2499
  • total_spend에 +=로 apple_store.pop("MacBook Pro16\"")을 선언하니까 2499가 출력이 되었습니다!

어라.. 박스에 뭐가 들어있나 궁금해서 상품 상세정보를 보니 맥북 프로 16인치에는 노트북 본체와 USB-C 케이블 140W 파워 어뎁터 밖에 없네요! 동기는 마우스가 없으면 상당히 불편해하니까 "Magic Mouse"를 사버립시다.

apple_store = {"MacBook Pro16\"": 2499, "MacBook Pro14\"": 1999, "iMac 27\"": 2299, "Magic Mouse": 79, "Magic Keyboard": 179}

total_spend = 0

total_spend += apple_store.pop("MacBook Pro16\"")
total_spend += apple_store.pop("Magic Mouse")
print(total_spend)

# 출력값 : 2578
  • 79불이 더해져서 총 2578불이 나왔습니다. 와 온타리오 주에서는 세금을 13% 붙이니까... 암산중... 음... 포기! 

코드로 세금도 붙여봅시다.

apple_store = {"MacBook Pro16\"": 2499, "MacBook Pro14\"": 1999, "iMac 27\"": 2299, "Magic Mouse": 79, "Magic Keyboard": 179}

total_spend = 0

total_spend += apple_store.pop("MacBook Pro16\"")
total_spend += apple_store.pop("Magic Mouse")
print(total_spend)

def real_total(spend):
    return spend + spend * 0.13

print(real_total(total_spend))

# 출력값 : 
# 2578
# 2913.14

와.. 한국돈으로 274만 827.77원이네요... ㅠ ㅠ (22년 2월 11일 기준)


라고 생각을 하다가 "아 맞다. 그럼 키보드는 어떡하지?"라고 생각이 들어서 "Razer Huntsman Mini"를 사기로 마음먹었습니다.

apple_store = {"MacBook Pro16\"": 2499, "MacBook Pro14\"": 1999, "iMac 27\"": 2299, "Magic Mouse": 79, "Magic Keyboard": 179}

total_spend = 0

total_spend += apple_store.pop("MacBook Pro16\"")
total_spend += apple_store.pop("Magic Mouse")
total_spend += apple_store.pop("Razer Huntsman Mini", 0)
print(total_spend)

def real_total(spend):
    return spend + spend * 0.13

print(real_total(total_spend))

# 출력값 : 
# 2578	
# 2913.14
  • 애플 스토어에 Razer 키보드는 팔지 않을 테니 .pop()의 독립변수로 "Razer Huntsman Mini"와 0을 넣어 주었습니다. 
  • 그럼 "Razer Huntsman Mini"는 없는 key이기 때문에 0을 반환해줍니다. 만약 두 번째 독립변수를 주지 않았다면 반환값이 None이기 때문에 에러가 발생합니다.

키가 없을 때 반환값(두 번째 독립변수)을 설정하지 않으면 None이 반환된다. 그래서 숫자와 더해지지 않기 때문에 에러가 뜸

 


 

오늘의 느낌

가격 알아보려고 애플 홈페이지 들어가 봤는데 보니까 또 사고 싶어 진다ㅋㅋㅋㅋ

 

'Python' 카테고리의 다른 글

[Python] 파일 읽는 방법 세 가지  (0) 2022.02.13
[Python] 딕셔너리 - 모든 키, 값 또는 둘 다 구하기  (0) 2022.02.12
[Python] Safely Get a Key  (0) 2022.02.12
[Python] Get A Key  (0) 2022.02.11
[Python] Dict Comprehensions  (0) 2022.02.11
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함