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

Python에서 최대 차이 쌍 찾기

<시간/>

데이터 분석은 다양한 문제를 야기할 수 있습니다. 이 기사에서는 요소로 숫자가 포함된 목록을 사용합니다. 그런 다음 목록에서 값의 차이가 가장 큰 요소 쌍을 찾습니다.

nlargest

여기서 접근 방식은 먼저 가능한 모든 요소 조합을 찾은 다음 첫 번째 요소에서 두 번째 요소를 빼는 것입니다. 마지막으로 nlargest 함수 양식 heapq 모듈을 적용하여 차이가 최대인 쌍을 가져옵니다.

예시

from itertools import combinations
from heapq import nlargest

listA = [21, 14, 30, 11, 17, 18]

# Given list
print("Given list : ",listA)

# using nlargest and combinations()
res = nlargest(2, combinations(listA, 2),
               key=lambda sub: abs(sub[0] - sub[1]))

# print result
print("Pairs with maximum difference are : ",res)

출력

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

Given list : [21, 14, 30, 11, 17, 18]
Pairs with maximum difference are : [(30, 11), (14, 30)]

조합 및 Max() 사용

여기에서도 위와 동일한 접근 방식을 취하지만 결과로 한 쌍을 제공하는 max 함수를 적용하기 때문에 결과로 한 쌍을 얻습니다.

예시

from itertools import combinations

listA = [21, 14, 30, 11, 17, 18]

# Given list
print("Given list : ",listA)

# using combinations() and lambda
res = max(combinations(listA, 2), key = lambda sub: abs(sub[0]-sub[1]))

# print result
print("Pairs with maximum difference are : ",res)

출력

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

Given list : [21, 14, 30, 11, 17, 18]
Pairs with maximum difference are : (30, 11)