複雑な標準ソートを使用する場合は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,f2ex2)
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 메소를 사용해 소문자로 변환하여 첫 글자가 대문자든 소문자든 상관하지 않고 알파벳 내림차순
Reference
この問題について(複雑な標準ソートを使用する場合はkeyパラメータ14を使用してください), 我々は、より多くの情報をここで見つけました https://velog.io/@totkfka3/복잡한-기준을-사용해-정렬할-때는-key-파라미터를-사용하라14テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol