👩‍💻 Develope/Python

[Python] 리스트끼리 빼기

heywantodo 2023. 9. 22. 16:21
728x90
반응형

[Python] 리스트끼리 빼기

리스트에 중복 값이 없을 때

a = [1, 2, 3, 4]
b = [3, 2, 5]

리스트의 중복 값이 없을 때나, 중복을 제거하고 리스트끼리 빼고싶은 경우엔

다음과 같은 방법을 사용할 수 있다.

#리스트 컴프리헨션 사용
[_ for _ in a if _ not in b]

#집합 사용
list((set(a) - set(b))

출력 값 : [1, 4]

 

리스트에 중복 값이 있을 때

a = [1, 2, 2, 3, 4]
b = [3, 2, 5]

리스트끼리 빼서 [1,2,4]의 값을 얻고싶을때, 위 방법을 사용하면 중복값이 제거되서 [1,4]가 출력된다.

그럴땐 collections 라이브러리의 conter 함수를 사용해서 쉽게 구할 수 있다.

from collections import Counter

result = Counter(a) - Counter(b)
list(result.keys())

출력값 = [1,2,4]

 

728x90
반응형