Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python - 첫 번째 목록에서 중복을 유지하여 두 목록 결합

<시간/>

파이썬을 사용한 데이터 분석에서 두 개의 목록을 병합해야 하는 상황을 만날 수 있습니다. 그러나 해당 목록에 있는 중복 요소를 처리하는 것이 어려울 수 있습니다. 이 기사에서는 첫 번째 목록의 모든 요소를 ​​유지하고 두 번째 목록의 고유한 요소만 유지하여 두 목록을 결합하는 방법을 볼 것입니다.

확장 사용

이 접근 방식에서는 첫 번째 목록을 가져와 결과 목록을 만듭니다. 그런 다음 두 번째 목록에서 첫 번째 목록의 요소가 있는지 확인하는 for 루프를 설계하고 두 번째 목록에서 요소를 찾을 수 없으면 확장 기능을 사용하여 결과 목록에 추가합니다.

예시

# Given list A
listA = ['A', 'B', 'B','X']

# Guven list B
listB= ['B', 'X', 'Z', 'P']

# Creating the result set
res = list(listA)

# Extending result with list B
res.extend(i for i in listB if i not in res)

# Get result
print(res)

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

출력

['A', 'B', 'B', 'X', 'Z', 'P']

세트 사용

set 함수를 적용하여 목록에 있는 고유한 요소를 가져올 수 있습니다. 그런 다음 두 번째 목록에서 고유한 요소만 가져오기 위해 이 두 목록 간의 요소 차이를 찾습니다. 마지막으로 이 차이의 결과를 첫 번째 목록에 추가합니다.

예시

# GIven First List
listA = ['A', 'B', 'B','X']

# Given Second list
listB= ['B', 'X', 'Z', 'P']

# makign the lists Uniq
listA_uniq = set(listA)
listB_uniq = set(listB)

# Capture unique elements from list B
diff_lists = listB_uniq - listA_uniq
res = listA + list(diff_lists)

# Get result
print(res)

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

출력

['A', 'B', 'B', 'X', 'P', 'Z']