파이썬(Python)

[ Basic ] 파이썬 Dictionary 추가하기, 삭제하기

카루루1007 2023. 2. 26. 23:17
728x90
반응형
SMALL

Python의 Dictionary는 수정이 가능합니다.

값의 제거, 변경 또는 추가가 가능합니다.

 

새로운 키-값 추가하기
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
print(my_dict)

위 코드를 실행하면 다음과 같이 결과가 나타납니다.

{'name': 'John', 'age': 30, 'city': 'New York'}

 

만약 John 이라는 사람의 이름과 사는곳 이외에 이메일을 추가하고 싶다면

다음과 같이 코드를 작성하면

이메일을 추가할 수 있습니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
my_dict['email'] = 'John@gmail.com'
print(my_dict)

위 코드의 결과는 다음과 같습니다.

{'name': 'John', 'age': 30, 'city': 'New York', 'email': 'John@gmail.com'}

 

 

또한 update() 함수를 사용할 수도 있습니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
add_dict = {"age" : 36, "email" : 'John@gmail.com'}

my_dict.update(add_dict)

print(my_dict)

위 코드의 결과는 다음과 같습니다.

{'name': 'John', 'age': 36, 'city': 'New York', 'email': 'John@gmail.com'}

 

add_dict에서 기존의 age를 30에서 36으로 바꾸었고

email을 추가하였습니다. 

 

update()함수 안에 직접 인자를 사용하여 업데이트 할 수 도 있습니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
my_dict.update(age = 36, email = 'John@gmail.com')
print(my_dict)

위 코드의 값은 다음과 같습니다.

{'name': 'John', 'age': 36, 'city': 'New York', 'email': 'John@gmail.com'}

 

Dictionary에서 키-값 제거하기

 

Dictionary에서 [ 키 - 값 ]을 제거하는 방법에는

del 키워드를 사용하거나

pop() 함수를 사용하는 방법이 있습니다.

 

먼저 del 키워드를 사용하는 방법입니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

del my_dict['age']

print(my_dict)

  위 코드를 실행하면 다음과 같이 결과가 나타납니다.

{'name': 'John', 'city': 'New York'}

 

다음은 pop() 함수를 사용하는 방법입니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

my_dict.pop('age')

print(my_dict)

위 코드의 결과는 다음과 같습니다.

{'name': 'John', 'city': 'New York'}

 

이렇게 보면 del 키워드와 pop() 함수의 차이가 보이지 않습니다.

하지만 pop() 함수는 삭제한 [ 키 ]의 [ ]을 반환합니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

print(my_dict.pop('age'))

print(my_dict)

위 코드의 결과는 다음과 같습니다.

30
{'name': 'John', 'city': 'New York'}

 

pop() 함수는 삭제한 키 [ age ]의 값 [ 30 ]을 반환합니다.

 

del 키워드를 사용할 때 정의되어 있지 않은 키를 삭제하도록

코드를 작성하면 어떻게 되는지 보겠습니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

del my_dict['email']

print(my_dict)

위와 같이 없는 키을 삭제하려고 하면

[ KeyError ]가 발생합니다.

물론 pop() 함수를 사용하여 없는 키를 삭제하려 할 때도 마찬가지 입니다.

 

그러므로 키를 삭제하려면 미리 키가 있는지 확인하는 것이 좋습니다.

다음은 if 문을 사용하여 확인하는 코드입니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

remove_key = "age"

if remove_key in my_dict:
    delete_value = my_dict.pop(remove_key)
    print(f"삭제한 값 : {delete_value}")
else:
    print("삭제하려는 키가 존재하지 않습니다.")
    
print(my_dict)

 위 코드를 실행하면 다음과 같이 결과가 나타납니다.

삭제한 값 : 30
{'name': 'John', 'city': 'New York'}

 

만약 없는 키를 지우면 어떻게 되는지 살펴보겠습니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

remove_key = "email"

if remove_key in my_dict:
    delete_value = my_dict.pop(remove_key)
    print(f"삭제한 값 : {delete_value}")
else:
    print("삭제하려는 키가 존재하지 않습니다.")
    
print(my_dict)

 위 코드는 my_dict에 존재하지 않는 [ email ]을 지우려 하는 코드입니다. 

결과는 다음과 같습니다.

삭제하려는 키가 존재하지 않습니다.
{'name': 'John', 'age': 30, 'city': 'New York'}

 

try-except 문을 사용할 수도 있습니다.

아래 코드는 존재하는 키를 지우는 코드입니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

remove_key = "age"

try:
    delete_value = my_dict.pop(remove_key)
    print(f"삭제한 값 : {delete_value}")
except:
    print("삭제하려는 키가 존재하지 않습니다.")
    
print(my_dict)

 

다음 코드는 존재하지 않는 키를 지우는 코드입니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

remove_key = "email"

try:
    delete_value = my_dict.pop(remove_key)
    print(f"삭제한 값 : {delete_value}")
except:
    print("삭제하려는 키가 존재하지 않습니다.")
    
print(my_dict)

 

결과는 동일하므로 생략하겠습니다.

728x90
반응형
LIST