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

Python – 행 범위에서 최대값 찾는 방법

리스트의 특정 행 범위에서 최대값을 구해야 하는 경우, 간단한 반복문과 max 메서드를 활용하면 손쉽게 해결할 수 있습니다. 이 방법은 중첩 리스트(리스트의 리스트)에서 원하는 인덱스 범위만 잘라내어 그 안에서 가장 큰 값을 찾는 방식으로 동작합니다.

아래는 실제 동작 예시입니다.

예제 코드

my_list = [[11, 35, 6], [9, 11, 3], [35, 4, 2], [8, 15, 35], [5, 9, 18], [5, 14, 2]]

print("The list is :")
print(my_list)

i, j = 2, 4
print("The values for integers are ")
print(i, j)

my_result = 0
for index in range(i, j):

    my_result = max(max(my_list[index]), my_result)

print("The result is :")
print(my_result)

실행 결과

The list is :
[[11, 35, 6], [9, 11, 3], [35, 4, 2], [8, 15, 35], [5, 9, 18], [5, 14, 2]]
The values for integers are
2 4
The result is :
35

코드 설명

  • 리스트 안에 여러 개의 리스트가 포함된 중첩 리스트를 정의하고, 콘솔에 출력하여 확인합니다.

  • 범위를 지정할 두 개의 정수 값(i, j)을 정의한 뒤 콘솔에 표시합니다. 여기서는 2와 4로 설정했습니다.

  • 결과를 저장할 변수를 0으로 초기화합니다. 모든 요소가 양수라면 이 초기값은 최종 결과에 영향을 주지 않습니다.

  • range(i, j)를 사용해 지정된 인덱스 범위(2부터 3까지)만큼 반복문을 순회합니다. 파이썬의 range는 끝값을 포함하지 않으므로 인덱스 2와 3에 해당하는 행만 검사 대상이 됩니다.

  • 각 반복마다 해당 행 전체의 최대값을 max 함수로 구하고, 기존 결과 변수와 비교해 더 큰 값을 다시 변수에 할당합니다.

  • 모든 반복이 끝나면 지정된 행 범위 내에서 발견된 최대값이 콘솔에 출력됩니다. 위 예제에서는 인덱스 2의 [35, 4, 2]와 인덱스 3의 [8, 15, 35] 중 가장 큰 값인 35가 결과로 나타납니다.