Notice
Recent Posts
Recent Comments
Link
유자차의 재테크 공부방
[Python] 이중 정렬하기 본문
반응형
이중 정렬이라고 표현을 했는데
2가지 항목으로 정렬을 하는 방법과 2가지 항목을 다른 정렬 방법으로 정렬하는 방법을 알려 드리겠습니다.
데이터 요소 기준으로 정렬
=> 요소1 기준으로 오름차순 후 동일한 것이 있다면 요소2 기준으로 오름차순
sorted(정렬할 리스트, key=lambda x : (정렬할 요소1, 정렬할 요소2))
data = [(1,"d"), (2,"c"), (3,"b"), (1,"a"), (3,"d"), (1,"f")]
res = sorted(data, key=lambda x : (data[0], data[1]))
# 출력결과 : [(1,"a"), (1,"d"), (1,"f"), (2,"c"), (3,"b"), (3,"d")]
정렬이 서로 다르게 정렬이 해야할 때
=> 요소 1 기준으로 오름차순, 요소 2 기준으로 내림차순
sorted(정렬할 리스트, key=lambda x : (정렬할 요소1, -정렬할 요소2))
정렬할 요소에 "-" 기호를 붙여주면 정렬이 반대로 됩니다.
data = [(1,"d"), (2,"c"), (3,"b"), (1,"a"), (3,"d"), (1,"f")]
res = sorted(data, key=lambda x : (data[0], -data[1]))
# 출력결과 : [(1,"f"), (1,"d"), (1,"a"), (2,"c"), (3,"d"), (3,"b")]
반응형
'파이썬 > 기본 문법' 카테고리의 다른 글
for문에서 2가지 변수 가져오기 (0) | 2023.02.12 |
---|---|
[Python] Garbage Collecting (0) | 2022.06.13 |
[Python] Pandas에 apply 진행률 보기 (0) | 2022.05.12 |
math라이브러리 없이 올림하기 (0) | 2022.04.25 |
이중 정렬 (0) | 2022.03.25 |
Comments