반응형
파이썬 조건 정렬
오늘의 포스팅 요약
> 2차원 배열 정렬법
1. 다중 조건으로 정렬하는법
(* a[i][0]은 내림차순, a[i][1]은 오름차순으로 정렬하는 법)
2. a[i][0] 기준으로 정렬 하는 법
3. a[i][1] 기준으로 정렬 하는 법
4. 정렬의 다양한 방법 및 예시
예시 1) 다중조건 정렬 : a[i][0] 기준
a=[[1,2],[3,4],[3,2],[5,1]] 일때,
arr[i][0] 은 내림차순으로, arr[i][1]은 오름차순으로 정렬해 봅시다.
a=[[1,2],[3,4],[3,2],[5,1]]
a=sorted(a,key=lambda x:(-x[0],x[1])) #sorted의 key인자로 조건을 넣어줌
print(a)
#[[5, 1], [3, 2], [3, 4], [1, 2]]
*여기서 '-'(마이너스)는 내림차순으로, 마이너스가 없으면 오름차순으로 정렬된다.
* x[0]을 먼저 썼으므로 x[0] 부터 정렬한다음 x[1]을 정렬한다.
*x[1]을 기준으로 정렬 하고 싶으면 x[1]을 앞에 쓰면 된다.
예시 2)오름차순 정렬 : a[i][0]기준
a=[[1,2],[3,4],[3,2],[5,1]]
#방법1
a=sorted(a)
print(a)
#방법2
a.sort()
print(a)
#방법3
a=sorted(a, key=lambda x:(x[0],x[1]))
print(a)
#결과
#[[1, 2], [3, 2], [3, 4], [5, 1]]
예시 3)오름차순 정렬 : a[i][1]기준
a=[[1,2],[3,4],[3,2],[5,1]]
a=sorted(a, key=lambda x:(x[1],x[0]))
print(a)
#결과
#[[5, 1], [1, 2], [3, 2], [3, 4]]
#a[i][1]이 작은것부터 나오며, 숫자가 같을시
#x[i][0]이 작은것부터 출력.
예시 4)내림차순 정렬 : a[i][0]기준
#방법1
a=sorted(a,reverse=True)
print(a)
#방법2
a.sort()
a.reverse()
print(a)
#방법3
a=sorted(a, key=lambda x:-x[0])
print(a)
#결과
#[[5, 1], [3, 4], [3, 2], [1, 2]]
예시 5)내림차순 정렬 : a[i][1]기준
a=sorted(a, key=lambda x:(-x[1],-x[0]))
print(a)
#[[3, 4], [3, 2], [1, 2], [5, 1]]
#a[i][1]기준으로 내림차순 정렬
#a[i][1]의 크기가 같을 경우, a[i][0]기준으로 내림차순 정렬
도움이 되셨다면 하트 꾹 눌러주세요 ~
반응형
'(Python)파이썬 > (Python)파이썬 문법' 카테고리의 다른 글
(파이썬)알파벳 or 숫자 확인/isdigit(),isalpha() 알아보기 + 예제 (0) | 2021.06.22 |
---|---|
(파이썬) 문자열 리스트 합치기/파이썬 join()+예제 (0) | 2021.06.21 |
(파이썬) 길이가 같은 요소 묶기/zip() 사용법 (0) | 2021.06.18 |
(파이썬) 리스트 요소 조합하기/ permutations & combinations (0) | 2021.06.18 |
(파이썬) 파이썬 소문자 알파벳만 나열/ 대문자 알파벳만 나열 (0) | 2021.06.17 |
댓글