[Python] 리스트(배열)의 최대, 최소값의 인덱스 구하는 방법

 


1. 원하는 동작

arr = [10,20,30,40,50,60]

위와 같은 배열이 있는 경우에 최대, 최소값을 구하는 함수는 max, min 을 이용하여 간단하게 값을 구할 수 있습니다. 하지만 최대, 최소값의 인덱스는 구해주지 않습니다. 이 경우에 어떻게 문제를 해결할까요?? 어떤 함수를 사용해야 할까요??

2. 해결 방법

arr = [10,20,30,40,50,60]
arr_len = len(arr)

# 최소값의 인덱스 리턴
min( range(arr_len), key=arr.__getitem__)

# 최대값의 인덱스 리턴
max( range(arr_len), key=arr.__getitem__) 

위와 같이 min, max 의 key 값을 변경해주면 쉽게 원하고자 하는 값의 index 를 리턴받을 수 있습니다.