Python에서는 리스트의 특정 인덱스에 있는 요소를 제거하는 방법이 크게 두 가지 있습니다. 바로 del 문을 사용하는 방법과 pop() 메서드를 사용하는 방법입니다.
1. del 문으로 요소 제거하기
del 문은 제거하려는 요소의 인덱스를 지정하여 해당 요소를 삭제합니다. 이 방법은 제거된 값을 반환하지 않고 단순히 리스트에서 요소를 없애기만 합니다.
>>> L1 = [11, 22, 33, 44, 55, 66, 77] >>> del L1[2] >>> L1 [11, 22, 44, 55, 66, 77]
위 예제에서 인덱스 2(세 번째 요소인 33)가 삭제되어 리스트 길이가 하나 줄어든 것을 확인할 수 있습니다.
2. pop() 메서드로 요소 제거하기
내장 리스트 클래스의 pop() 메서드도 인덱스를 인자로 받아 해당 위치의 요소를 제거합니다. 다만 del과 달리 제거된 요소를 반환값으로 돌려준다는 점이 특징입니다.
>>> L1 = [11, 22, 33, 44, 55, 66, 77] >>> x = L1.pop(2) >>> x 33 >>> L1 [11, 22, 44, 55, 66, 77]
위 예제에서 L1.pop(2)를 실행하면 인덱스 2의 요소인 33이 변수 x에 저장되고, 원본 리스트에서는 해당 요소가 사라집니다.
del과 pop()의 차이점 정리
- del: 요소만 제거하며 아무 값도 반환하지 않습니다.
- pop(): 요소를 제거하면서 그 값을 반환하므로, 제거된 값을 이후에 활용해야 할 때 유용합니다.
- 인자를 전달하지 않으면
pop()은 기본적으로 마지막 요소를 제거하고 반환합니다.
두 방법 모두 리스트의 내용을 한 요소만큼 줄인다는 공통점이 있으므로, 상황에 맞게 적절한 방법을 선택하면 됩니다.