Python에서 두 목록의 차이점 파악

Lakshay Kapoor 2023년1월30일
  1. set.difference()를 사용하여 Python에서 두 목록의 차이점 찾기
  2. set.symmetric_difference()를 사용하여 Python에서 두 목록의 차이점 찾기
  3. 키워드in을 사용하여 Python에서 두 목록의 차이점 찾기
  4. NumPy라이브러리를 사용하여 Python에서 두 목록의 차이점 찾기
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_1difference_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 avatar Lakshay Kapoor avatar

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

관련 문장 - Python List