본문 바로가기

Algorithm/Python

[Python] 리스트 안의 특정 원소를 전부 삭제하는 법 (remove)

 

리스트 안의 특정 원소를 삭제할 때 우리는 보통 remove 함수를 사용한다. 

remove 함수의 사용법에 대해 알아보자. 기본 문법은 다음과 같다.

 

변수명.remove(특정 값)

 

 

하지만 이 방법으로는 특정 값을 갖는 원소를 제거하긴 하는데, 값을 가진 원소가 여러 개면 하나만 제거한다.

 

다음의 예시와 같이 말이다.

 

# 입력
a = [1, 2, 3, 4, 5, 5, 5]
a.remove(5)
print(a)

# 출력
[1, 2, 3, 4, 5, 5]

 

5는 세 개나 있지만, 한 개만 지워진 모습을 볼 수 있다. 그렇다면, 5를 전부 지우기 위해서는 어떻게 해야 할까?

 

다음의 코드를 보자.

 

# 입력
a = [1, 2, 3, 4, 5, 5, 5]
remove_set = {5}

result = [i for i in a if i not in remove_set]
print(result)

# 출력
[1, 2, 3, 4]

 

 

여기서 아래의 코드가 핵심이다. 유용하게 써먹도록 하자.

 

result = [i for i in a if i not in remove_set]