파이썬으로 웹개발 수업을 듣다가 키 값으로 정렬이 필요해서, sort()함수와 sorted() 함수의 사용방법을 확인해봤다.
쓸 때마다 헷갈려서 그때그때 봐야겠다.
Python 내장함수로, 정렬함수에는 크게 2가지가 있음.
Python은 C++ 보다도 정렬이 간단하고 직관적이라 더 좋다. 꼭 외우기!
- sorted() : 배열 자체는 변경되지 않음. 다른 변수에 담아두고 사용하는 경우가 많음
# 1. 인자 없이 사용할 경우에는 순서대로 정렬된다.
a = [ 9, 8, 7, 6, 5]
b = sorted(a)
# b = [5, 6, 7, 8, 9]
# 2. lambda 를 사용하여 dictionary 자료형에서 key 값으로 정렬하기
#### num 값은 내림차순 (-x['num']), done 값은 오름차순으로 정렬
c = [{"num" : 1, "done" : 0}, {"num" : 3, "done" : 1}, {"num" : 5, "done" : 1}, {"num" : 10, "done" : 1}]
d = sorted(c, key = lambda x: (-x['num'],x['done']))
# d = [{'num': 10, 'done': 1}, {'num': 5, 'done': 1}, {'num': 3, 'done': 1}, {'num': 1, 'done': 0}]
- sort() : 배열 자체를 정렬한 값으로 변경
# 1. 인자 없이 사용할 경우에는 순서대로 정렬된다. (a 리스트 순서가 변경)
a = [ 9, 8, 7, 6, 5]
a.sort()
# a = [5, 6, 7, 8, 9]
# 2. 내림차순 정렬
a.sort(reverse = True)
# a = [9, 8, 7, 6, 5]
# 3. lambda 를 사용하여 dictionary 자료형에서 key 값으로 정렬하기
#### num 값은 내림차순 (-x['num']), done 값은 오름차순으로 정렬
c = [{"num" : 1, "done" : 0}, {"num" : 3, "done" : 1}, {"num" : 5, "done" : 1}, {"num" : 10, "done" : 1}]
c.sort(key = lambda x: (-x['num'],x['done']))
# c = [{'num': 10, 'done': 1}, {'num': 5, 'done': 1}, {'num': 3, 'done': 1}, {'num': 1, 'done': 0}]
'IT' 카테고리의 다른 글
[이슈] 삼성 갤럭시 S22 GOS 해제, 비활성화 업데이트 배포 (1) | 2022.03.10 |
---|---|
[이슈] 삼성 갤럭시 S22 울트라 GOS 성능조작 논란 총정리 및 비활성화방법 (1) | 2022.03.08 |
댓글