Myo-Kyeong Tech Blog

[ Python ] Lambda 함수를 활용한 리스트 정렬 본문

Programming/Python

[ Python ] Lambda 함수를 활용한 리스트 정렬

myo-kyeong 2023. 6. 1. 18:10
728x90
반응형

 

기본적인 정렬 방식

 

Python에서 'sorted()' 함수는 리스트 요소를 기본적으로 오름차순으로 정렬합니다. 

numbers = [6, 1, 8, 2, 7]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # 출력: [1, 2, 6, 7, 8]

 

 

Lambda 함수를 사용한 사용자 정의 정렬 방식

 

Python에서 'sorted()' 함수는 정렬을 수행하는 데 있어서 'key'라는 매개변수를 제공합니다. 이 'key' 매개변수에 lambda 함수를 전달함으로써, 원하는 방식에 따라 데이터를 정렬할 수 있습니다. 

sorted(iterable, key=lambda x: <expression>)
  • iterable : 정렬하려는 리스트나 다른 순차적인 자료 구조
  • <expression> : 각 원소에 적용할 표현식. 이 표현식의 결과에 따라 정렬이 이루어짐

 

[ 리스트의 길이를 기준으로 정렬 ]

list_of_lists = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
sorted_list_of_lists = sorted(list_of_lists, key=lambda x: len(x))
print(sorted_list_of_lists)  # 출력: [[4, 5], [1, 2, 3], [6, 7, 8, 9]]

 

[ 특정 위치의 값으로 정렬 ]

list_of_tuples = [(1, 2), (4, 5), (3, 1)]
sorted_list_of_tuples = sorted(list_of_tuples, key=lambda x: x[1])
print(sorted_list_of_tuples)  # 출력: [(3, 1), (1, 2), (4, 5)]

 

[ 복수의 정렬 기준 적용 ]

list_of_tuples = [("John", 20), ("Alice", 20), ("Bob", 18), ("Charlie", 20)]
sorted_list_of_tuples = sorted(list_of_tuples, key=lambda x: (x[1], x[0]))
print(sorted_list_of_tuples) 
# 출력: [('Bob', 18), ('Alice', 20), ('Charlie', 20), ('John', 20)]

 

728x90
반응형