파이썬의 목록은 유사한 항목의 모음입니다. 때때로 특정 작업을 수행하기 위해 두 목록의 데이터 항목을 비교해야 할 수도 있습니다. 파이썬에서 두 목록을 비교하는 특정 방법에 대해 논의할 것입니다.
list.sort() 및 ==연산자 사용
list.sort() 메서드는 두 목록을 정렬하고 ==연산자는 두 목록 항목을 항목별로 비교합니다. 이는 동일한 위치에 동일한 데이터 항목이 있음을 의미합니다. 이것은 목록에 동일한 데이터 항목 값이 포함되어 있는지 확인하지만 목록의 요소 순서는 고려하지 않습니다. 이것은 이 비교 방법에 따라 목록 [1,2,3]이 목록 [2,1,3]과 동일하다는 것을 의미합니다.
예시
def compareList(l1,l2): l1.sort() l2.sort() if(l1==l2): return "Equal" else: return "Non equal" l1=[1,2,3] l2=[2,1,3] print("First comparison",compareList(l1,l2)) l3=[1,2,3] l4=[1,2,4] print("Second comparison",compareList(l3,l4))
출력
First comparison Equal Second comparison Non equal
collection.Counter() 사용
이 방법은 첫 번째 목록에 있는 각 요소의 빈도를 두 번째 목록과 비교하여 목록의 동등성을 테스트합니다. 이 방법은 또한 목록 요소의 순서를 고려하지 않습니다.
예시
import collections def compareList(l1,l2): if(collections.Counter(l1)==collections.Counter(l2)): return "Equal" else: return "Non equal" l1=[1,2,3] l2=[2,1,3] print("First comparison",compareList(l1,l2)) l3=[1,2,3] l4=[1,2,4] print("Second comparison",compareList(l3,l4))
출력
First comparison Non equal Second comparison Equal
sum(), zip() 및 len() 사용
이 방법은 먼저 두 목록의 각 요소를 비교하고 1의 합으로 저장한 다음 다른 목록의 길이와 비교합니다. 이 방법의 경우 이 계산을 수행하기 전에 먼저 두 목록의 길이가 동일한지 확인해야 합니다.
이 메서드는 요소의 순서도 확인합니다. 이것은 목록 [1,2,3]이 목록 [2,1,3]과 같지 않다는 것을 의미합니다.
예시
def compareList(l1,l2): if(len(l1)==len(l2) and len(l1)==sum([1 for i,j in zip(l1,l2) if i==j])): return "Equal" else: return "Non equal" l1=[1,2,3] l2=[2,1,3] print("First comparison",compareList(l1,l2)) l3=[1,2,3] l4=[1,2,3] print("Second comparison",compareList(l3,l4))
출력
First comparison Non equal Second comparison Equal
위의 예에서와 같이 첫 번째 비교의 경우 두 목록의 데이터 항목은 동일하지만 요소의 순서가 다릅니다. 따라서 첫 번째 비교는 같지 않은 결과를 반환합니다.
==연산자 사용
이것은 첫 번째 방법의 수정입니다. 이 방법은 목록을 정렬하지 않고 비교하므로 이 방법은 목록에 있는 데이터 항목의 순서를 고려합니다.
예시
def compareList(l1,l2): if(l1==l2): return "Equal" else: return "Non equal" l1=[1,2,3] l2=[2,1,3] print("First comparison",compareList(l1,l2)) l3=[1,2,3] l4=[1,2,3] print("Second comparison",compareList(l3,l4))
출력
First comparison Non equal Second comparison Equal
이것들은 파이썬에서 목록을 비교하는 몇 가지 방법입니다. 둘 다 데이터 항목의 순서를 고려하고 데이터 항목의 순서를 고려하지 않습니다.