<list>.sort(key = <function>, reverse = <bool>)
sorted( <list> , key = <function> , reverse = <bool>)
a = [10,2,3,1]
a.sort()
a.sort(reverse=True) # 역순(내림차순)
b = [10,2,3,1]
c = sorted(b)
d = sorted(b,reverse=True)
print(b) # [10,2,3,1]
print(c) # [1,2,3,,10]
print(d) #[10,3,2,1]
key 값으로 정렬
key = lamda x : x[0]
>> 0번째 원소를 기준으로 오름차순 정렬
key = lamda x : -x[0]
>> 0번째 원소를 기준으로 내림차순 정렬 / 내림차순을 원할경우 마이너스(-) 사용
array = [[50, "apple"], [30, "banana"] , [400, "melon"]]
print(array)
>>>>> [[30, 'banana'], [50, 'apple'], [400, 'melon']]
print(sorted(array, key = lambda x: x[0]))
>>>>> [[30, 'banana'], [50, 'apple'], [400, 'melon']]
key가 여러개 일 때,
array = [("A", 18, 300000) , ("F", 24, 10000), ("T", 24, 200000),("Q",24,5000000), ("B", 70, 5000)]
# (<이름> , <나이> , <재산>) 이라고 하면
위의 리스트처럼 정렬해야 할때 고려해야 많은 경우가 있을때는 튜플형식으로 key = lambda x: (x[0] , x[2]) lambda식을 세워주면 된다.
x[0]을 우선순위로 정렬 후, x[0]이 같은 경우 x[1] 기준으로 다시 정렬하게 된다.