[Python] 리스트(List) 정렬, 역정렬

    다른 언어도 쉽겠지만 Python은 정말 별도로 구현해야 하는 것들을 기본적으로 매우 잘 제공하고 있다. 정렬도 그중 하나의 예인데 다양한 정렬 방식을 제공하니 아래와 같이 필요한 방법을 사용하면 된다.

     

    python 리스트 정렬, 역정렬


    sorted()

    - 현재 리스트를 변경하지 않고 정렬 후 변수에 넘기는 방식

    list_data = [4,2,5,3,7,8,9]
    
    sorted_list_data = sorted(list_data)
    print('새로운 리스트->', sorted_list_data)
    
    # 새로운 리스트-> [2, 3, 4, 5, 7, 8, 9]

     

    list.sort()

    - 현재의 리스트를 정렬한다.

    list_data.sort()
    print('본인 정렬->', list_data)
    
    # 본인 정렬-> [2, 3, 4, 5, 7, 8, 9]

     

    reverse=True

    - list.sort()나 sorted()에서 사용이 가능하며, reverse=True를 할경우 역정렬을 수행한다.

    # 역정렬
    list_data.sort(reverse=True)
    print('역정렬->', list_data)
    
    # 역정렬-> [9, 8, 7, 5, 4, 3, 2]

     

    key 정렬

    - 인자값으로 key에 정렬 방법을 지정하면, 해당 조건에 맞게 정렬이 수행된다.

    list_data = [1,-4,-5,2]
    list_data.sort()
    print(list_data)
    
    # [-5, -4, 1, 2]
    
    divide_sorted = sorted(list_data, key=abs)
    print(divide_sorted)
    
    # [1, 2, -4, -5]

    위 예제에서 key에 abs(절대값)을 사용하였는데 기존에 -5, -4, 1, 2 순이었던 정렬 순서가 1, 2, -4, -5로 변경되었다. 

     

     

     

    반응형

    댓글

    Designed by JB FACTORY