최대값이 동일한 항목들을 순차적으로 나열하는 방법

최대값이 동일한 항목들을 순차적으로 나열하는 방법

publish date
Jun 30, 2020
Tags
python
최대값이 동일한 항목들을 순차적으로 나열하는 방법을 알아보겠습니다.
예를들어 아래와 같이 점수를 기록한 리스트가 있을때, 최고점수를 뽑되 동률이 있다면 모두 표시해주기위한 간략한 코드입니다결과값(result)은 점수 리스트의 index 값 입니다.
def max_score(scores):
    result = []
    max_score_val = max(scores)

    for idx, val in enumerate(scores):
        if val == max_score_val:
            result.append(idx + 1)

    return result


if __name__ == '__main__':
    print(max_score([80, 100, 100, 40, 20, 100]))
점수 리스트가 인자로 주어졌을때 함수 내부에서 max 함수로 최고점수를 구한 후 점수 리스트의 루프를 돌며 최고 점수와 동일한 점수의 index를 리스트에 추가합니다.
최고 점수가 하나라면 결과값은 하나가되고, 동률이 있을 경우 모두 결과값에 담습니다.
감사합니다. 😄