Python 언어로 다중 키워드 정렬 문제 구현

2025 단어 Python3python3정렬
Python 언어에는 정렬 함수가 내장되어 있습니다.list 대상에는sort () 방법과sorted () 함수가 있습니다

sort() 방법


이 방법은 목록 대상을 수정하고, 이 방법의 반환 값은 None이기 때문에list를 사용할 수 없습니다.sort () 할당 목록

sorted() 함수


이 함수는 하나의 목록을 받아들일 수 있으며, 새로운 정렬된 목록을 되돌려줍니다. 원래의 매개 변수 목록을 바꾸지 않습니다

오름/내림 순서 변경


두 방법 모두 기본적으로 오름차순 배열입니다. 리버스 파라미터를 통해 오름차순 배열을 지정할 수 있습니다. 이 파라미터의 수치는 True 또는False이고 기본값은False입니다.
#  
L = [5, 2, 3, 1, 4]
print(sorted(L, reverse=True))

names = ['Do', 'you', 'come', 'from', 'China']
#  ASCII 
names.sort(reverse=True)
print(names)

결과는 다음과 같습니다.
[5, 4, 3, 2, 1]
['you', 'from', 'come', 'Do', 'China'] 

키 매개 변수를 통해 원소를 어떻게 비교하는지 결정하다


키 매개 변수의 값은 함수 객체이고 기본값은 None입니다.
이 함수는 하나의 매개 변수만 있고 보통 비교를 기다리는 요소이다.
이 함수는 원소의 크기에 따라 되돌아오는 값과 키워드만 있습니다
students = [
            ('john', 'A', 18),
            ('jane', 'B', 19),
            ('dave', 'B', 17)
            ]
print(sorted(students, key=lambda s: s[0]))

[('dave', 'B', 17), ('jane', 'B', 19), ('john', 'A', 18)]

 
다중 키워드 정렬: 주 키워드를 정렬한 다음 차 키워드를 정렬합니다.
sorted () 함수를 이용하여 여러 번 정렬
L = [
    (' ', 2, 2, 0, 1),
    (' ', 5, 4, 1, 5),
    (' ', 6, 5, 1, 5),
    (' ', 2, 2, 0, 4)
]
L = sorted(L, key=lambda t: t[1],reverse=True) #  
print(L)
L = sorted(L, key=lambda t: t[3], reverse=True) #  
print(L)
L = sorted(L, key=lambda t: t[4], reverse=True) #  
print(L)



[(' ', 6, 5, 1, 5), (' ', 5, 4, 1, 5), (' ', 2, 2, 0, 1), (' ', 2, 2, 0, 4)]
[(' ', 6, 5, 1, 5), (' ', 5, 4, 1, 5), (' ', 2, 2, 0, 1), (' ', 2, 2, 0, 4)]
[(' ', 6, 5, 1, 5), (' ', 5, 4, 1, 5), (' ', 2, 2, 0, 4), (' ', 2, 2, 0, 1)]

 

좋은 웹페이지 즐겨찾기