는 일반 차이 것인지 정말 (a
의 요소를하지만 b
에서)하지 않거나 대칭을 위해 좋은 작동하지 않을 수 있습니다 차이 (둘 다 존재하지 않는 요소)이지만 다행히도 목록을 set으로 변환 한 후 regular set operations을 사용하여 둘 다 수행 할 수 있습니다.
그러나 경고 세트를 설정하는 목록은 중복 된 요소를 포함 할 수 없으므로 목록에서 중복 요소를 제거합니다. (예 : 요소를
>>> set(a) - set(b)
set([0, 1, 2, 3, 4, 5])
대칭 차이를 얻으려면 :
는
그래서 우리의 데이터 :
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> b = [12, 11, 10, 9, 8, 7, 6]
이 b
에, 즉 일반 차이, a
에 존재하는 요소를 얻을 수 있지만하려면를 선언 할 수 있습니다 하나의 배열에만 있지만 둘 다 포함 할 수 없음) :
>>> set(a)^set(b)
set([0, 1, 2, 3, 4, 5, 10, 11, 12])
추가 보너스로 다음 두 요소에 모두 포함 된 요소 :
>>> set(a) & set(b)
set([8, 9, 6, 7])
얼마나 큰가? – tomasz