ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • python sorted
    알고리즘 2021. 2. 5. 15:48

    파이썬에서 기본적으로 sort는 timsort를 사용한다.

    오늘 해볼 포스팅은 파이썬에서 정렬 할 때 이런 생각이 많이 든다. "사람의 이름을 나이순으로 정렬해라. 근데 나이가 같으면 키 순으로 정렬해라" 이렇게 물을 때 어떻게 해야 하는지 포스팅 하려고 한다. 

     

    원래 기본적으로 파이썬에서는 리스트에서 sorting을 할 때

    some_list = [1,2,3,4,5]

    some_list.sort() # 결과값 [1,2,3,4,5]

     

     

    이렇게 sort는 기본적으로 오름차순으로 정렬된다. 물론 내림차순으로 정렬할 수 도 있다. 그럴땐

    some_list.sort(reverse=True) # 결과값 [5,4,3,2,1] 

    가 나온다. 여튼 이제 내가 하려고 하는 사람의 이름을 나이순으로 정렬해라. 근데 나이가 같으면 키가 큰 순으로 앞에 정렬 해라" 라는 조건이 있을 때 푸는 형식이다.

    여기서 key는 정렬할 기준을 얘기 해준다. 주의점은 key = lambda human : (human.age, -human.height) 일 것이다. 여기서 human은 human_list의 값 한개를 의미한다. 그니까 f_human이나 s_human 이렇게 하나를 의미한다 여기서 그냥 human.age 를 한것은 이름은 오름차순으로 -human.height는 키는 내림차순으로 정렬하겠다. 이 의미이다. 

    '알고리즘' 카테고리의 다른 글

    이진 탐색 트리  (0) 2021.02.10
    leetcode 5번 Longest_palindrom  (0) 2020.12.29
    leetcode_334(Reverse_String)  (0) 2020.12.20
    leetcode 125.Valid Palindrome  (0) 2020.12.20
    Insertion sort  (0) 2020.12.08

    댓글