반응형
질문
파이썬에서 remove()
은 리스트에서 값의 첫 번째 발생을 제거합니다.
리스트에서 값의 모든 발생을 제거하는 방법은 무엇인가요?
이것이 제 생각입니다:
>>> remove_values_from_list([1, 2, 3, 4, 2, 2, 3], 2)
[1, 3, 4, 3]
답변
기능적 접근 방식:
파이썬 3.x
>>> x = [1,2,3,2,2,2,3,4]
>>> list(filter((2).__ne__, x))
[1, 3, 3, 4]
또는
>>> x = [1,2,3,2,2,2,3,4]
>>> list(filter(lambda a: a != 2, x))
[1, 3, 3, 4]
또는
>>> [i for i in x if i != 2]
파이썬 2.x
>>> x = [1,2,3,2,2,2,3,4]
>>> filter(lambda a: a != 2, x)
[1, 3, 3, 4]
반응형
댓글