Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 두 리스트 간의 최대 차이 구하는 방법

두 개의 리스트를 비교하여 요소 간의 최대 차이를 구해야 하는 경우가 종종 있습니다. Python에서는 내장 함수인 abs()max()를 활용하면 이 문제를 간단하고 효율적으로 해결할 수 있습니다.

핵심 아이디어

두 리스트의 같은 위치에 있는 요소들을 하나씩 비교하면서 절댓값 기준으로 차이를 계산한 뒤, 그중 가장 큰 값을 선택하는 방식입니다.

예제 코드

아래는 두 리스트 간의 최대 차이를 구하는 전체 코드입니다.

my_list_1 = [7, 9, 1, 2, 7]
my_list_2 = [6, 3, 1, 2, 1]
print("첫 번째 리스트 :")
print(my_list_1)
print("두 번째 리스트 :")
print(my_list_2)

my_result = max(abs(my_list_2[index] - my_list_1[index])
   for index in range(0, len(my_list_1) - 1))

print("두 리스트 간의 최대 차이 :")
print(my_result)

실행 결과

첫 번째 리스트 :
[7, 9, 1, 2, 7]
두 번째 리스트 :
[6, 3, 1, 2, 1]

두 리스트 간의 최대 차이 :
6

코드 설명

  • 먼저 두 개의 리스트를 정의하고, 콘솔에 출력하여 확인합니다.

  • range()len()을 사용해 리스트의 길이만큼 반복하면서 두 리스트의 같은 인덱스에 있는 요소들의 차이를 계산합니다.

  • abs() 함수로 각 요소 쌍의 차이에 대한 절댓값을 구한 후, max() 함수로 그 차이들 중 최댓값을 추출합니다.

  • 계산된 결과는 변수 my_result에 저장됩니다.

  • 마지막으로 결과를 콘솔에 출력합니다. 위 예제에서는 첫 번째 요소 쌍인 7과 6의 차이보다, 9와 3의 차이인 6이... 실제로는 여러 쌍 중 최대 차이인 6이 결과로 나타납니다.

참고 사항

위 코드에서 range(0, len(my_list_1) - 1)은 마지막 인덱스를 제외하고 순회합니다. 만약 모든 요소를 비교하고 싶다면 range(len(my_list_1))로 변경하면 됩니다. 또한 두 리스트의 길이가 다를 경우 zip()을 사용하는 방법도 안전한 대안이 될 수 있습니다.