300x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- dp
- OS
- 파이썬
- CSS
- 백준
- 네트워크
- 리눅스
- 코딩
- nlp
- 순열
- 알고리즘
- PYTHON
- 딥러닝
- 킥스타트
- google coding competition
- 프로그래머스
- 구글 킥스타트
- 코딩 테스트
- AI
- 동적프로그래밍
- 동적 프로그래밍
- 브루트포스
- 운영체제
- kick start
- BFS
- linux
- 코딩테스트
- DFS
- 프로그래밍
- 그래프
Archives
- Today
- Total
오뚝이개발자
[Python] 파이썬 sorted() 정렬 조건, 다중 조건 본문
728x90
300x250
파이썬의 sorted()는 정렬 조건을 설정해줄 수 있다. 여러 개의 요소를 갖는 튜플을 원소로 갖는 리스트라면 두 번째 요소값을 기준으로 정렬한다던가 혹은 lambda 함수를 이용하면 다중 조건으로 설정해줄 수도 있다.
a = [(4,0), (4,3), (4,2), (3,2), (2,1), (1,0)]
# 인자 없이 sorted()를 사용하면 리스트 아이템의 각 요소 순서대로 정렬
# 첫 번째 요소가 같으면 두 번째 요소로 비교
b = sorted(a)
print(b) # [(1, 0), (2, 1), (3, 2), (4, 0), (4, 2), (4, 3)]
# key인자에 lambda 함수를 넘겨주면 반환값을 가지고 비교해 정렬
# 이 때, key로 전달되지 않은 요소에 대해선 정렬하지 않음
c = sorted(a, key=lambda x : x[0])
print(c) # [(1, 0), (2, 1), (3, 2), (4, 0), (4, 3), (4, 2)]
d = sorted(a, key=lambda x : x[1])
print(d) # [(4, 0), (1, 0), (2, 1), (4, 2), (3, 2), (4, 3)]
# 정렬 기준으로 다중 조건을 넘겨줄 수도 있다
# 첫 번째 인자를 기준으로 오름차순 정렬을 먼저 한다.
# 그 결과를 가지고 두 번째 인자를 기준으로 내림차순 정렬(-를 붙이면 내림차순 정렬)
e = sorted(a, key = lambda x : (x[0], -x[1]))
print(e) # [(1, 0), (2, 1), (3, 2), (4, 3), (4, 2), (4, 0)]
728x90
300x250
'Language > 파이썬' 카테고리의 다른 글
[Python] 파이썬 heap(heapq 모듈) (0) | 2020.10.29 |
---|---|
[Python] 파이썬 any(), all() 함수 (2) | 2020.10.29 |
[Python] 파이썬 리스트 정렬, sort()와 sorted() 차이 (0) | 2020.09.15 |
[Python] 파이썬 구글 이미지 크롤링 (0) | 2020.08.12 |
[파이썬] set - 집합 자료형 (0) | 2020.08.06 |
Comments