Python에서 두 목록의 차이점 파악
-
set.difference()
를 사용하여 Python에서 두 목록의 차이점 찾기 -
set.symmetric_difference()
를 사용하여 Python에서 두 목록의 차이점 찾기 -
키워드
in
을 사용하여 Python에서 두 목록의 차이점 찾기 -
NumPy
라이브러리를 사용하여 Python에서 두 목록의 차이점 찾기
목록, 사전, 튜플 및 배열과 같은 데이터 구조에서 수행되는 많은 작업이 있습니다. Python에서 이러한 데이터 구조는 거의 모든 프로그램에서 사용됩니다. 이러한 데이터 구조 중 하나는 Python의 목록입니다. Python 프로그래밍의 목록은 하나의 변수에 둘 이상의 항목을 저장하는 데 도움이됩니다. 두 목록의 차이점을 찾는 것은 거의 모든 프로그래머가 수행하는 매우 일반적인 작업입니다.
이 튜토리얼은 Python에서 두 목록의 차이점을 얻는 여러 방법을 보여줍니다.
set.difference()
를 사용하여 Python에서 두 목록의 차이점 찾기
set()
메소드는 사용자가 이터 러블을 세트라고도하는 이터 러블 시퀀스로 변환하는 데 도움을줍니다. 이터 러블은 목록, 사전 또는 튜플 일 수 있습니다.
set.difference()
함수는 두 세트 간의 차이를 반환하는 데 사용됩니다. 이 기능은 기본적으로 두 세트의 공통 요소를 제거합니다.
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
difference_1 = set(list_1).difference(set(list_2))
difference_2 = set(list_2).difference(set(list_1))
list_difference = list(difference_1.union(difference_2))
print(list_difference)
출력:
[50, 5, 40, 25, 60, 15]
이 방법의 첫 번째 단계는 두 개의 목록을 두 개의 변수에 저장하는 것입니다. set()
함수는 이러한 목록을 세트로 변환하는 데 사용됩니다. 같은 단계에서set.difference()
함수를 사용하여 두 세트 간의 차이를 찾습니다. difference_1
변수는list_2
가 아닌list_1
의 요소를 가져옵니다.
difference_2
변수는list_1
이 아닌list_2
에있는 요소를 가져옵니다. 그 후,union
함수를 사용하여difference_1
및difference_2
변수에서 모든 요소를 가져옵니다. 또한list()
함수는 두 세트를 다시 목록으로 변환하는 데 사용됩니다. 마지막으로 결과 목록이 인쇄됩니다.
set.symmetric_difference()
를 사용하여 Python에서 두 목록의 차이점 찾기
여기서set()
메소드는 두 목록을 초기에 세트로 변환하는 데 사용됩니다.
symmetric_difference()
메소드는 첫 번째 세트 또는 두 번째 세트에있는 요소를 리턴하는 데 사용됩니다. 이 메서드는 두 세트의 공통 요소처럼 교차를 반환하지 않습니다.
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
set_difference = set(list_1).symmetric_difference(set(list_2))
list_difference = list(set_difference)
print(list_difference)
출력:
[5, 40, 15, 50, 25, 60]
set()
메소드는 목록을 세트로 변환하는데도 사용됩니다. 차이를 얻은 후list()
함수를 사용하여set_difference
를 다시 목록으로 변환하는 것과 같이 최종 세트를 가져오고 변환합니다.
키워드in
을 사용하여 Python에서 두 목록의 차이점 찾기
in
키워드는 요소가 목록과 같은 반복 가능한 시퀀스에 있는지 여부를 확인하는 데 도움이됩니다.
append()
함수도이 메소드에서 사용됩니다. append()
는 기존 목록에 요소를 추가하는 데 사용됩니다. 새 목록을 만들지는 않지만 요소를 추가하여 초기 목록을 수정합니다.
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
list_difference = []
for element in list_1:
if element not in list_2:
list_difference.append(element)
print(list_difference)
출력:
[5, 15, 25]
이 방법에서는 먼저 0 개의 요소로 인쇄해야하는 최종 목록을 초기화합니다. 그런 다음 for 루프를 사용하여list_1
인 첫 번째 목록으로 반복을 시작합니다. 그런 다음not in
키워드를 사용하여 요소가 두 번째 목록에 있는지 여부를 확인합니다.
마지막으로append()
메소드를 사용하여 두 번째 목록에없는 요소를 초기 목록에 추가합니다. 즉,list_difference
. 그러나이 메서드의 단점은 두 번째 목록의 요소를 반환하지 않는다는 것입니다.
이 방법을 더 간단하게 만들려면리스트 컴프리헨션 을 사용하십시오. 리스트 컴프리헨션 은 기존 목록의 요소로 새 목록을 만드는 데 도움이되는 방법입니다.
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
list_difference = [element for element in list_1 if element not in list_2]
print(list_difference)
출력:
[5, 15, 25]
NumPy
라이브러리를 사용하여 Python에서 두 목록의 차이점 찾기
Python의NumPy
라이브러리는 매우 일반적으로 사용되는 라이브러리입니다. 이 라이브러리는 사용자가 배열, 행렬 및 선형 대수로 작업을 수행하는 데 도움이됩니다.
이 방법에서는NumPy
라이브러리의 세 가지 기능을 사용하여 두 목록 간의 차이를 얻습니다. 이 세 가지 함수는np.array()
,np.setdiff1d()
및np.concatenate()
입니다.
배열은NumPy
라이브러리의 기본 데이터 구조입니다. np.array()
함수는 배열을 생성하고 배열 작업을 도와줍니다.
np.setdiff1d()
함수를 사용하면 두 배열 간의 집합 차이를 찾고 두 번째 배열이 아닌 첫 번째 배열에있는 값을 반환 할 수 있습니다.
np.concatenate
함수는 둘 이상의NumPy
배열을 함께 결합하는 데 사용됩니다. 아래 예를 확인하십시오.
import numpy as np
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
array_1 = np.array(list_1)
array_2 = np.array(list_2)
difference_1 = np.setdiff1d(array_1, array_2)
difference_2 = np.setdiff1d(array_2, array_1)
list_difference = np.concatenate((difference_1, difference_2))
print(list(list_difference))
출력:
[5, 15, 25, 40, 50, 60]
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn