[Python] 두 목록에 동시에 들어가 있는 항목의 목록 구하기 Develop Tip

저희는 고등학교 때 집합에 대해서 배웠던 기억이 납니다.
정석 책의 첫 부분에 나왔던 것으로 기억을 하는데요..

이런 집합 개념이 프로그램 할 때에도 같은 개념으로 나타납니다.
C에서는 list 와 같은 컨테이너 뿐만 아니라 집합의 개념까지도 모두
일일이 구현을 해 주어야 하지만 파이썬에는 아예 기본 데이터 형으로 집합을 가지고 있습니다.

예를 들어,

b1 = [1,2,3,4,5,9,11,15]

목록이 있고,

b2 = [4,5,6,7,8]

목록이 있는데,

동시에 나타난 항목은

[4, 5] 

입니다.

이것을 한줄로 구할 수 있습니다.

icl=list(set(b1).intersection(set(b2)))
print icl

[4, 5] 

이제 유사한 방법으로 차집합도 쉽게 구합니다.

b1에서 교집합을 빼면 됩니다.


sb1=list(set(b1)-set(icl))
print sb1

[1, 2, 3, 9, 11, 15]


어느분께는 도움이 되셨기를 바랍니다...

핑백

  • 지훈현서 : [Python] 목록의 필터링 적용 2013-04-16 10:02:49 #

    ... 치환 가능합니다. y = filter(lambda e: e is not None and len(e) > 0, y) 지난번 람다함수관련 내용과,목록 관련 내용인 목록과 셑, 목록 소팅 및 목록 초기화 등과 더불어많이 사용하고픈 내용입니다. 어느분께는 도움이 되셨기를... ... more

덧글

댓글 입력 영역

구글애드텍스트