복잡한 기준을 사용해 정렬할 때는 key 파라미터를 사용하라#14
key는 함수여야 한다.
ex1)
class Tool:
def __init__(self,name,weight):
self.name = name
self.weight = weight
def __repr__(self): #repr 함수는 어떤 객체의 ‘출력될 수 있는 표현’(printable representation)을 문자열의 형태로 반환한다.
return f'Tool({self.name}, {self.weight})'
tools = [
Tool('수준계',3.5),
Tool('해머',1.25),
Tool('스크류드라이버',0.5),
Tool('끝',0.25),]
print('미정렬:',repr(tools))
tools.sort(key=lambda x: x.name) #key 속성 값에는 반드시 함수가 들어가야 한다. name을 기입하면 알파벳 오름차순, weight를 기입하면 숫자 오름차순
print('\n정렬:',tools)
:)lambda 는 일회성이고 필요할 때만 호출하여 사용하는 방식으로 메모리상의 불필요한 연산을 줄인다.
:)f1,f2 도 이용가능
ex2)
places = ['home','work','New York','Paris']
places.sort()
print('대소문자 구분:',places)
places.sort(key=lambda x:x.lower())
print('대소문자 무시:',places)
대소문자 구분: ['New York', 'Paris', 'home', 'work']
대소문자 무시: ['home', 'New York', 'Paris', 'work']
:)lower 메소를 사용해 소문자로 변환하여 첫 글자가 대문자든 소문자든 상관하지 않고 알파벳 내림차순
Author And Source
이 문제에 관하여(복잡한 기준을 사용해 정렬할 때는 key 파라미터를 사용하라#14), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@totkfka3/복잡한-기준을-사용해-정렬할-때는-key-파라미터를-사용하라14저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)