본문 바로가기
(Python)파이썬/(Python)파이썬 문법

(파이썬) 파이썬 정렬 총 정리/파이썬 다중 조건 정렬

by 공부가싫다가도좋아 2021. 6. 19.
반응형

파이썬 조건 정렬


오늘의 포스팅 요약

> 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]기준으로 내림차순 정렬

도움이 되셨다면 하트 꾹 눌러주세요 ~

반응형

댓글