CS/Python

리스트에서 상위 n개 데이터의 인덱스, 값 반환하기

Cori 2021. 8. 24. 23:39

리스트에서 상위 n개 데이터의 위치, 값을 반환하는 방법에 대해 살펴본다. 


코드

def get_top_n(list_a, num):
    '''
    list_a: [int, int, ...] 
    num: int, 추출하고 싶은 개수 
    '''
    tmp = list_a.copy()   # list의 값 복사
    tmp.sort()   # 복사한 리스트 오름차순 정렬
   
    top_num = tmp[-num:]    # 지정한 개수만큼 뒤에서부터 추출 
    top_idx = [list_a.index(x) for x in top_num]   # 해당 값 위치 추출
    return top_num, top_idx

이렇게 줄여써도 ok