공부 노트/파이썬

파이썬 리스트에서 원소 삭제하기

김뚱입니다 2023. 9. 21. 07:45

 파이썬 리스트(List)는 여러 데이터를 저장하는 데 유용한 자료 구조입니다.

때때로 리스트에서 원소를 삭제해야 할 때가 있는데, 이 글에서는 두 가지 주요한 방법인 .pop() 메서드와 .remove() 메서드를 자세히 알아보겠습니다.


.pop() 메서드

.pop() 메서드는 리스트에서 지정한 인덱스의 원소를 삭제하고 해당 값을 반환합니다.

기본적인 구문은 다음과 같습니다.

리스트이름.pop(인덱스)

리스트이름 : 대상 리스트의 이름
인덱스 : 삭제할 원소의 위치를 가리키는 인덱스

 

☆ 여기서 .pop() 이렇게 인덱스를 적지않고 그냥 사용하면, 리스트의 가장 끝 원소가 삭제됩니다 ☆


예제를 통해 이해해봅시다.

my_list = [10, 20, 30, 40, 50]

# 인덱스 2의 원소(30)를 삭제하고 반환
deleted_element = my_list.pop(2)

print(my_list)  # 출력: [10, 20, 40, 50]
print(deleted_element)  # 출력: 30

 

.remove() 메서드


.remove() 메서드는 리스트에서 지정한 값을 찾아서 처음으로 발견한 해당 값을 삭제합니다. 구문은 다음과 같습니다.

리스트이름.remove(값)

리스트이름 : 대상 리스트의 이름
값 : 삭제할 원소의 값

예제를 통해 이해해봅시다.

my_list = [10, 20, 30, 40, 50]

# 값 30을 찾아서 삭제
my_list.remove(30)

print(my_list)  # 출력: [10, 20, 40, 50]

 

.pop() vs .remove()

.pop() 메서드는 삭제할 원소의 위치(인덱스)를 지정하며 해당 위치의 원소를 반환합니다.
.remove() 메서드는 삭제할 원소의 값을 직접 지정하며 해당 값을 찾아 삭제합니다.

따라서 두 메서드는 사용 목적에 따라 선택하면 됩니다. 

만약 삭제할 원소의 인덱스를 알고 있다면 .pop()을 사용하고, 특정 값을 찾아 삭제하려면 .remove()을 사용하면 됩니다.


● 주의사항

.pop() 메서드를 사용할 때 삭제할 인덱스를 범위를 벗어나게 지정하면 IndexError가 발생할 수 있습니다.

.remove() 메서드는 리스트에서 해당 값을 찾을 수 없을 때 ValueError가 발생할 수 있으므로 삭제하려는 값이 리스트에 있는지 확인이 필요합니다.


결론

파이썬에서 리스트의 원소를 삭제하는 두 가지 주요한 방법인 .pop()과 .remove() 메서드를 소개했습니다. 

이제 상황에 맞게 적절한 메서드를 선택하여 리스트에서 원소를 효과적으로 삭제할 수 있을 것입니다.


참고 자료

https://docs.python.org/3/tutorial/introduction.html#lists