반응형
Python의 sort() 함수에서 'key' 인자를 사용하면 정렬 기준을 지정할 수 있습니다.
이 key 인자에는 함수가 들어갑니다.
함수가 직접 리스트의 요소를 받은 후, 정렬에 사용할 key를 반환합니다.
1. key = len 2. key = lambda 3. key = str.lower 4. key = 사용자 정의 함수 |
key = len
문자열을 길이에 따라 리스트를 정렬하고 싶다면 len() 함수를 key 인자에 넣으면 됩니다.
list = ["aaa", "bbbb", "ccccc"]
list.sort(key=len)
key = lambda
key의 인자로 lambda 함수를 사용하여 요소들을 정렬할 수 있습니다.
lambda는 파이썬에서 사용하는 익명 함수를 지칭합니다.
아래 코드는 element 리스트의 Fruit 객체들을 cost 속성에 따라 오름차순으로 정렬합니다.
class Fruit:
def __init__(self, name, cost):
self.name = name
self.cost = cost
element = [Fruit("apple", 1000), Fruit("banana", 2000), Fruit("mango", 4500)]
element.sort(key=lambda x: x.cost)
key = str.lower
문자열을 영소문자 기준으로 정렬하고 싶을 때 str.lower를 key 인자에 넣으면 됩니다.
sample = ["banana", "Apple", "cherry"]
sample.sort(key=str.lower)
key = 사용자 정의 함수
사용자가 직접 작성한 함수를 key 인자에 넣을 수 있습니다.
#사용자 지정 함수
def user_func(s):
return int(''.join(filter(str.isdigit, s)))
#정렬할 요소
strings = ["a1", "b2", "c3"]
#정렬
strings.sort(key=user_func)
반응형
'Programming Language > Python' 카테고리의 다른 글
[Python] 파이썬 리스트 안에 for문 사용하는 형식, list comprehension (0) | 2024.01.11 |
---|---|
[Python] 파이썬 딕셔너리에 key 존재 여부 확인 시, in 키워드 / get() 사용하기 (1) | 2024.01.11 |
[Python] 파이썬 문자열 정렬엔? sort(), sorted() 함수 사용 (1) | 2024.01.05 |
[Python/구글 Colab] 구글 코랩 마크다운 사용법 정리, Markdown Guide (0) | 2024.01.03 |
[Python] 파이썬으로 문자열 구분할 때?, split() 함수 사용하기 (0) | 2024.01.02 |