두 개의 리스트를 비교하여 요소 간의 최대 차이를 구해야 하는 경우가 종종 있습니다. 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()을 사용하는 방법도 안전한 대안이 될 수 있습니다.