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)
결과는 동일하므로 생략하겠습니다.
여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.
'파이썬(Python)' 카테고리의 다른 글
[ Basic ] Python(파이썬) sorted 함수 (0) | 2023.03.08 |
---|---|
[ Basic ] 파이썬 Dictionary 키와 값의 목록 반환, keys() / values() / items() (0) | 2023.02.27 |
[ Basic ] 파이썬(Python) Dictionary 만들고 수정, 접근하기 (0) | 2023.02.20 |
[ Pandas ] Pandas에 대한 개요 (0) | 2023.02.12 |
[ Basic ] Methods와 Functions의 차이 학습 정리 (0) | 2023.02.06 |