반응형
python을 하다보면 여러 변수들을 이용하여 내림차순 혹은 오름차순으로 정리해야 할 때가 있습니다.
예를 들어
시간 | 농도 |
1 | 0.3 |
3 | 0.6 |
2 | 0.4 |
3 | 0.7 |
2 | 0.3 |
1 | 0.4 |
3 | 0.7 |
위과 같은 자료가 있을때 농도에 따른 내림차순 먼저하고, 다른 시간에 따른 내림차순으로 변경하고 싶을때!
아래와 같이 진행하시면 됩니다.
# input
a=[(1,0.3),(3,0.6),(2,0.4),(3,0.7),(2,0.3),(1,0.4),(3,0.7)]
sorted(a)
# output : [(1, 0.3), (1, 0.4), (2, 0.3), (2, 0.4), (3, 0.6), (3, 0.7), (3, 0.7)]
sorted(a,key=lambda x:(x[1],x[0]))
# output : [(1, 0.3), (2, 0.3), (1, 0.4), (2, 0.4), (3, 0.6), (3, 0.7), (3, 0.7)]
sorted(a,key=lambda x:(x[0],x[1])) # sorted(a) 결과와 동일
# output : [(1, 0.3), (1, 0.4), (2, 0.3), (2, 0.4), (3, 0.6), (3, 0.7), (3, 0.7)]
sorted(a,key=lambda x:(x[0],-x[1]))
# output : [(1, 0.4), (1, 0.3), (2, 0.4), (2, 0.3), (3, 0.7), (3, 0.7), (3, 0.6)]
lambda를 사용하기에는 이번이 처음인데요. 생각보다 유용한것 같습니다.
728x90
반응형
'기본적인프로그래밍 > python' 카테고리의 다른 글
[python] 방향키로 이전 스크립트가 안보일때 (0) | 2021.07.26 |
---|---|
[jupyter] 두개의 버전의 python 사용하기 (0) | 2021.07.12 |
[python] print할 때 한 줄로 해결하기! (0) | 2021.02.05 |
[jupyter] 설치부터 외부접속 가능하게 설정 (Ubuntu, linux용) (2) | 2020.12.17 |
[python] Ubuntu에서 기본 python path 변경하는 방법 (0) | 2020.12.03 |
댓글