우선 파이썬에서 sort()와 sorted() 함수를 통해 정렬을 할 수 있다.
sort()
원본 자체를 정렬시켜 준다.
a = [1,5,2,7]
a.sort()
print(a)
#a = [1,2,5,7]
sorted()
원본을 변형시키지 않고 새로운 list를 반환한다.
a = [1,5,2,7]
b = sorted(a)
print(a)
print(b)
#a = [1,5,2,7]
#b = [1,2,5,7]
reverse
정렬 기능은 기본적으로 오름차순으로 제공한다. 내림차순으로 정렬하고 싶은 경우, reverse 파라미터를 통해 정렬할 수 있다.
a = [1,5,2,7]
a.sort(reverse=True)
print(a)
#a = [7,5,2,1]
key
정렬 조건을 설정할 함수를 넣을 수 있다.
a = ['love','i','banana']
a.sort(key=lambda x:len(x))
print(a)
#a = ['i', 'love', 'banana']
lambda(람다) 함수는 파이썬에서 익명 함수를 만들기 위해 사용된다.
lambda에서 앞에 "-" 를 붙이게 되면 reverse=True와 같은 효과를 가질 수 있다.
a = [[1,2],[2,5],[4,3]]
a.sort(key=lambda x:-x[1])
print(a)
#a = [[2, 5], [4, 3], [1, 2]]
data = [(2, 3), (1, 2), (3, 2), (4, 1)]
data.sort(key=lambda x: (x[1], x[0]))
print(data)
#data = [(4, 1), (1, 2), (3, 2), (2, 3)]
'Python > 정렬' 카테고리의 다른 글
[Algorithm] 프로그래머스 42746 가장 큰 수 | 파이썬 (정렬) (0) | 2024.09.05 |
---|---|
[Algorithm] Sort(정렬) (1) | 2024.01.05 |
댓글