Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 리스트에서 del, remove, pop의 차이점 완벽 정리

프로그램의 코드 길이와 상관없이, 파이썬 리스트에서 요소를 제거하거나 삭제할 때는 remove, del, pop의 차이점을 정확히 이해하고 상황에 맞는 방법을 선택하는 것이 중요합니다. 세 가지 방법은 모두 리스트의 요소를 삭제하지만, 동작 방식과 용도가 서로 다릅니다.

1. remove(): 값으로 요소 삭제하기

remove()는 특정 인덱스가 아닌, 리스트에서 첫 번째로 일치하는 값(객체)을 찾아 삭제합니다. 사용 방법은 list.remove(value) 형태입니다.

예제

list = [10, 20, 30, 40]
list.remove(30)
print(list)

실행 결과

[10, 20, 40]

참고로, 삭제하려는 값이 리스트에 존재하지 않으면 ValueError 오류가 발생하므로 주의해야 합니다.

2. del: 인덱스로 요소 삭제하기

del은 특정 인덱스에 위치한 항목을 삭제합니다. 사용 방법은 del list[index] 형태입니다.

예제

list = [10, 20, 30, 40, 55]
del list[1]
print(list)

실행 결과

[10, 30, 40, 55]

또한 del은 슬라이싱을 활용해 여러 요소를 한 번에 삭제하거나(del list[1:3]), 리스트 자체를 통째로 삭제하는 것도 가능합니다.

3. pop(): 인덱스로 삭제 후 값 반환받기

pop()은 특정 인덱스의 항목을 삭제하고, 삭제된 값을 반환한다는 점이 특징입니다. 사용 방법은 list.pop(index) 형태이며, 인덱스를 지정하지 않으면 기본적으로 리스트의 마지막 요소가 제거됩니다.

예제

list = [100, 300, 400, 550]
removed_item = list.pop(1)
print(list)
print(removed_item)

실행 결과

[100, 400, 550]
300

세 가지 방법 비교 정리

방법삭제 기준반환값특징
remove()값(value)None첫 번째로 일치하는 값 삭제
del인덱스(index)없음슬라이싱·전체 삭제 가능
pop()인덱스(index)삭제된 요소인덱스 생략 시 마지막 요소 삭제

정리하면, 값을 기준으로 삭제할 때는 remove(), 인덱스로 삭제만 하면 될 때는 del, 삭제한 값을 다시 활용해야 할 때는 pop()을 사용하는 것이 가장 효율적입니다. 참고로 실무에서는 파이썬 내장 함수 list와 이름이 겹치지 않도록 변수명을 my_list 등으로 지정하는 것이 좋은 습관입니다.