반응형
질문
두 개의 리스트 l1
과 l2
가 있다고 가정해봅시다. l1 - l2
를 수행하고 싶은데, 이는 l2
에 없는 l1
의 모든 요소를 반환합니다.
이를 위해 무식한 반복문 접근 방식을 생각할 수는 있지만, 이는 매우 비효율적일 것입니다. 이를 파이썬다운 방식으로 효율적으로 수행하는 방법은 무엇일까요?
예를 들어, l1 = [1,2,6,8]
이고 l2 = [2,3,5,8]
일 때, l1 - l2
는 [1,6]
을 반환해야 합니다.
답변
파이썬에는 이러한 작업을 매우 쉽게 수행 할 수있는 리스트 컴프리헨션(List Comprehensions)이라는 언어 기능이 있습니다. 다음 문장은 원하는 작업을 정확히 수행하고 결과를 l3
에 저장합니다:
l3 = [x for x in l1 if x not in l2]
l3
에는 [1, 6]
이 포함됩니다.
반응형
'Python > Python FAQ' 카테고리의 다른 글
Python 판다스에서 열이 존재하는지 확인하는 방법은 무엇인가요?, How to check if a column exists in Pandas (0) | 2023.09.14 |
---|---|
Python assert를 사용하는 가장 좋은 방법은 무엇인가요?, Best practice for using assert? (0) | 2023.09.14 |
Python n번째 문자마다 문자열을 분할하세요., Split string every nth character (0) | 2023.09.14 |
Python 사전에서 키의 이름을 변경하세요., Change the name of a key in dictionary (0) | 2023.09.14 |
Python 빈 집합 리터럴?, Empty set literal? (0) | 2023.09.14 |
댓글