반응형
리스트 안에서 튜플을 사용하는 자료형을 알고리즘 문제를 풀면서 자주 보았다.
그때마다 썼던 정렬 형식을 정리하려고 쓴 글!
1. 첫 번째 원소로 오름차순
L = [(3,4),(2,2),(-1,-1),(1,1)]
L.sort(key = lambda x : x[0])
2. 첫 번째 원소로 내림차순
L = [(3,4),(2,2),(-1,-1),(1,1)]
L.sort(key = lambda x : -x[0])
L.sort(key = lambda x : x[0], reverse = True)
3. 두 번째 원소로 오름차순
L = [(3,4),(2,2),(-1,-1),(1,1)]
L.sort(key = lambda x : x[1])
4. 첫 번째 원소로 오름차순, 첫 번째 원소가 같은 경우 두 번째 원소로 오름차순
L = [(3,4),(2,2),(-1,-1),(1,1)]
L.sort()
L.sort(key = lambda x : (x[0], x[1]))
5. 첫 번째 원소로 내림차순, 첫 번째 원소가 같은 경우 두 번째 원소로 오름차순
L = [(3,4),(2,2),(-1,-1),(1,1)]
L.sort(key = lambda x : (-x[0], x[1]))
** lambda
lambda 는 JS에서 쓰이는 화살표 함수이다. 다시 말하면 익명함수이다.
sorted함수의 경우 각 리스트 요소에 대해 호출할 함수를 지정하는 key 매개변수를 통해 정렬을 한다.
위에서 sort 함수에 key에 lamda 키워드를 이용해 값들을 넣었는데 재사용할 필요가 없는 함수이기 때문에 익명 함수로 간편하게 선언한 것!
참조 : https://docs.python.org/ko/3/howto/sorting.html
2021-12-07
반응형
'Language > Python' 카테고리의 다른 글
15. 파이썬 공백을 기준으로 출력 (0) | 2021.09.27 |
---|---|
14. 파이썬 ASCII 코드 (0) | 2021.09.19 |
13. 파이썬 input().split()과 map() (0) | 2021.09.18 |
12. 파이썬 max 함수 (0) | 2021.09.18 |
11. 파이썬 컴프리헨션 (0) | 2021.09.18 |