Python의 목록에서 요소의 모든 발생 제거
-
filter()
함수를 사용하여 Python의 목록에서 요소의 모든 인스턴스 제거 - 리스트 내포을 사용하여 Python의 목록에서 요소의 모든 인스턴스 제거
-
remove()
함수를 사용하여 Python의 목록에서 요소의 모든 인스턴스 제거
Python의 목록은 동일한 요소의 여러 항목을 허용합니다. 요소의 값이 다른 요소와 같더라도 각 요소는 다른 색인을 갖습니다. 이러한 색인 번호를 사용하면 원하는 요소에 쉽게 액세스 할 수 있습니다.
그러나 동일한 요소의 여러 인스턴스를 원하지 않는 상황이있을 수 있습니다. 그런 다음 목록에서 해당 특정 요소의 모든 발생을 제거하고 싶을 것입니다. Python에서는이를 달성하는 여러 가지 방법이 있습니다.
filter()
함수를 사용하여 Python의 목록에서 요소의 모든 인스턴스 제거
Python에서는 filter()
함수를 사용하여 요소 필터링이 더 쉬워집니다. filter()
함수는 두 개의 인수를 취하며 첫 번째 인수는 함수이고 두 번째 인수는 세트, 목록, 튜플 등이 될 수 있습니다.
예 1: __ne__
을 사용하는filter()
함수
myList = [2, 1, 3, 5, 1, 1, 1, 0]
myList = list(filter((1).__ne__, myList))
print(myList)
출력:
[2, 3, 5, 0]
이 예제에는1
의 발생을 제거하려는myList
목록이 있습니다. filter()
함수는__ne__
이라는 다른 함수를 사용하며,1
값이myList
내에 있는지 여부에 따라True
또는False
중 하나를 반환합니다. 값1
이 목록에 있으면 단순히 버립니다. 그런 다음filter()
함수에 의해 반환되는 모든 항목은list()
함수를 사용하여 목록으로 변환됩니다.
예 2: lambda
함수가있는filter()
함수
myList = [2, 1, 3, 5, 1, 1, 1, 0]
valueToBeRemoved = 1
result = filter(lambda val: val != valueToBeRemoved, myList)
print(list(result))
출력:
[2, 3, 5, 0]
__ne__
함수를 전달하는 대신lambda
함수를filter()
함수에 전달합니다.
myList
목록에서 각 요소를 하나씩 가져와val
변수에 저장합니다. val
및valueToBeRemoved
에있는 요소가 같지 않으면val
에있는 요소 만 새 변수result
에 추가됩니다. list()
함수를 사용하여result
를 목록으로 변환해야합니다.
리스트 내포을 사용하여 Python의 목록에서 요소의 모든 인스턴스 제거
리스트 내포은 짧은 코드 작성 방법입니다. 목록 이해는 일반 함수 및 루프보다 빠릅니다.
예제 코드 :
myList = [1, 2, 3, 4, 2, 2, 3]
valueToBeRemoved = 2
myList = [value for value in myList if value != valueToBeRemoved]
print(myList)
출력:
[1, 3, 4, 3]
2
요소의 발생을 제거하려는myList
목록이 있습니다. 요소의 모든 인스턴스를 제거하기위한 기본 코드는 대괄호[]
안에 있습니다. 여기에서for
루프가 먼저 실행 된 다음myList
목록에서 값을 가져와value
변수에 저장합니다. 그 후value
변수와valueToBeRemoved
변수 내의 값이 서로 일치하지 않으면value
변수의 값만 반환하고 목록myList
에 저장합니다. 이 프로세스는 목록이 비워 질 때까지 계속됩니다. 마지막으로 원하는 출력을 포함하는 목록이 있습니다.
remove()
함수를 사용하여 Python의 목록에서 요소의 모든 인스턴스 제거
remove()
함수는 요소의 첫 번째 항목 만 제거합니다. remove()
함수를 사용하여 요소의 모든 발생을 제거하려면for
루프 또는while
루프를 사용할 수 있습니다.
myList = [2, 1, 3, 5, 1, 1, 1, 0]
valueToBeRemoved = 1
try:
while True:
myList.remove(valueToBeRemoved)
except ValueError:
pass
print(myList)
출력:
[2, 3, 5, 0]
위의 코드에서myList
목록을 작성한 다음valueToBeRemoved
변수가 있습니다.이 경우 목록에서 제거하려는 요소가 포함됩니다 (이 경우1
). 목록을 반복하는 동안 해당 요소가 목록 안에 있으면remove()
함수를 사용하여 목록에서 제거됩니다.
Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.
LinkedIn