반응형
배열 이름이 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로 저장한다. 그 다음에는 필요에 따라 가공해서 사용하면 되겠다.
반응형
'📚Languages > Python3 개념·문법·에러' 카테고리의 다른 글
[Python3 문법] format을 이용해서 소수점 이하 자릿수 표현하기 (0) | 2020.10.24 |
---|---|
[Python3 문법] packing(패킹)과 unpacking(언패킹)의 개념과 객체 요소 출력하기 (0) | 2020.10.24 |
댓글