본문 바로가기
📚Languages/Python3 개념·문법·에러

[Python3 문법] list(리스트) 내의 최댓값과 그때의 index(인덱스) 값 구하기 (feat.enumerate)

by psS2mj 2020. 10. 21.
반응형

배열 이름이 list라고 할 때,

max(list)

이건 배열 원소 중 최댓값을 구하는 것이다.

 

list.index(max(list))

그리고 이건 배열 원소 중 최댓값의 index(인덱스)를 구하는 것이다.

다만, 최댓값이 여러 개일 경우에는 가장 앞쪽에 있는, 즉, index의 크기가 가장 작은 값이 나온다.


한 걸음 더 나아가서, list.index를 활용하면 최댓값이 여러 개일 경우 가장 앞쪽에 있는 index만 출력된다고 했다. 그런데 나는 최댓값이 여러 개 존재할 경우 그때의 index들을 다 확인하고 싶다면 어떻게 해야할까?

 

enumerate를 활용하면 된다.

👆🏻클릭 시 해당 문서로 이동합니다.

 

m = max(list)
[i for i,v in enumerate(list) if v == m]

 

위 문서에도 설명이 잘 나와있지만, i는 index고 v는 value다.

 

위 코드를 실행시키면 우선 list 배열에 있는 가장 큰 값을 구한 뒤에, 그 값과 같은 값을 가진 원소들의 index 값들을 list로 저장한다. 그 다음에는 필요에 따라 가공해서 사용하면 되겠다.

반응형

댓글