본문 바로가기
카테고리 없음

python sorted() 내장함수 (개발 기초, 코드 예시)

by python pro 2023. 2. 11.
반응형

sorted() 함수는 정말 중요합니다. 많이 사용되기도 하고, sorted() 없이 직접 정렬을 구현하려면 낭비이기도 하고, 속도도 내장함수만큼 나오지 않을 것이라 꼭 알아두고 여러 가지로 사용해보세요.

 

"Python sorted() 함수"는 파이썬에서 리스트, 튜플, 딕셔너리 등의 객체를 정렬할 때 사용하는 함수입니다. 이 함수는 정렬된 새로운 리스트 객체를 반환하며, 원본 리스트는 변경되지 않습니다.

# 예시 1: 리스트 정렬
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

# 예시 2: 딕셔너리 정렬
students = {
    "Alice": 25,
    "Bob": 27,
    "Claire": 17,
    "Dan": 35,
    "Emma": 19
}

# 딕셔너리의 키를 기준으로 정렬
sorted_students_by_name = sorted(students.items(), key=lambda x: x[0])
print(sorted_students_by_name) # [("Alice", 25), ("Bob", 27), ("Claire", 17), ("Dan", 35), ("Emma", 19)]

# 딕셔너리의 값을 기준으로 정렬
sorted_students_by_age = sorted(students.items(), key=lambda x: x[1])
print(sorted_students_by_age) # [("Claire", 17), ("Emma", 19), ("Alice", 25), ("Bob", 27), ("Dan", 35)]

key = labmda를 같이 써서 딕셔너리의 정렬도 쉽게 가능합니다. 많이 쓰는 구문이라 꼭 기억해두시면 좋을 것 같아요.

 

아래에서는 reverse에 대해서 정리해보려고 합니다.

sorted() 함수의 reverse 옵션은 정렬 결과를 역순으로 정렬할지 여부를 결정하는 매개변수입니다. reverse=True 로 설정하면 정렬 결과를 역순으로 보여줍니다. 기본값은 reverse=False 입니다.

a = [1,3,4,2]
sorted(a)
#[1,2,3,4]

sorted(a, reverse=True)
#[4,3,2,1]

reverse와 key를 동시에 사용하는 것도 가능합니다. 아래 코드에서는 딕셔너리 리스트를 첫번째는 age로 정렬했고, 두번째는 age로 역으로 정렬했습니다. 

a = [{"name":"Alice", "age":30}, {"name":"Bob", "age":25}, {"name":"Charlie", "age":35}]
sorted(a, key=lambda x: x["age"])
# [{'name': 'Bob', 'age': 25}, {'name': 'Alice', 'age': 30}, {'name': 'Charlie', 'age': 35}]

sorted(a, key=lambda x: x["age"], reverse=True)
#[{'name': 'Charlie', 'age': 35}, {'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}]

정렬은 python 내장함수 sorted에 맡기시죠!

반응형

댓글