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

파이썬 리스트에서 요소를 제거하는 3가지 방법: remove(), del, pop() 완벽 정리

파이썬에서 리스트(list)에 저장된 객체를 제거하는 방법은 크게 세 가지가 있습니다. 바로 remove(), del, pop()입니다. 각 방법은 동작 방식과 용도가 조금씩 다르므로 상황에 맞게 선택해 사용하면 됩니다.

1. remove() – 값으로 요소 제거하기

remove() 메서드는 인덱스가 아닌 을 기준으로 동작합니다. 인자로 전달한 값과 일치하는 첫 번째 요소를 리스트에서 삭제합니다. 같은 값이 여러 개 있어도 가장 앞에 있는 하나만 제거된다는 점에 유의하세요.

예제

a = [3, 2, 3, 2]
a.remove(3)
print(a)

출력 결과

[2, 3, 2]

위 예제에서 값 3이 두 개 존재하지만, 첫 번째 3만 제거되고 나머지 요소는 그대로 유지됩니다.

2. del – 인덱스로 요소 제거하기

del 키워드는 특정 인덱스에 위치한 요소를 삭제합니다. 별도의 반환값은 없으며, 슬라이싱을 활용하면 여러 요소를 한 번에 삭제할 수도 있습니다.

예제

a = [3, "Hello", 2, 1]
del a[1]
print(a)

출력 결과

[3, 2, 1]

인덱스 1에 있던 문자열 "Hello"가 삭제되고 나머지 요소들이 그대로 남아 있는 것을 확인할 수 있습니다.

3. pop() – 제거하면서 값 반환받기

pop() 메서드는 요소를 제거한 후 그 값을 반환한다는 점이 특징입니다. 인자로 전달하는 값은 제거하고 싶은 요소의 인덱스이며, 이 덕분에 제거된 요소를 변수에 저장해 재사용할 수 있습니다.

예제

a = [3, "Hello", 2, 1]
print(a.pop(1))
print(a)

출력 결과

Hello
[3, 2, 1]

인덱스 1의 요소였던 "Hello"가 먼저 반환된 뒤 리스트에서 제거되었습니다.

세 가지 방법 한눈에 비교하기

방법기준특징
remove()일치하는 첫 번째 값만 제거
del인덱스반환값 없음, 슬라이싱으로 다중 삭제 가능
pop()인덱스제거된 요소를 반환

정리하면, 제거할 을 알고 있다면 remove(), 위치를 기준으로 삭제하려면 del, 삭제와 동시에 해당 값을 활용해야 한다면 pop()을 사용하는 것이 가장 효율적입니다.