sorted() 함수는 특정 기준에 따라 목록을 재정렬하는 다양한 방법을 제공합니다. key 인수를 사용하면 익명 람다 함수를 활용하여 정렬을 위한 사용자 지정 논리를 사용할 수 있습니다.
Lambda 함수는 간결하고, 람다 키워드를 사용하여 정의된 인라인 함수입니다. 일반 구문은 다음과 같습니다.
lambda input_variable(s): expression
입력 변수를 가져와 표현식에 지정된 작업을 수행합니다.
sorted()의 맥락에서 에서 키 인수는 각 목록 요소를 처리하고 정렬에 사용되는 값을 생성하는 콜러블을 사용합니다. 이 함수를 정의하는 가장 일반적인 방법은 람다를 사용하는 것입니다. 구문:
sorted(list, key=lambda element: expression)
예:
sorted([1, 3, 2], key=lambda x: x % 2)
람다 함수는 2로 나눌 때 각 요소의 나머지를 계산하며 기본적으로 목록에 대해 [0, 1, 0]을 반환합니다. [1, 3, 2]. 그런 다음 이 변환된 목록은 정렬에 사용되어 [1, 3, 2]가 됩니다.
키 인수는 값을 기반으로 원래 목록을 새 목록으로 변환합니다. 람다 함수에 의해 반환됩니다. 설명하자면:
예:
sorted([3, 6, 3, 2, 4, 8, 23], key=lambda x: x % 2)
Lambda 함수:
lambda x: x % 2
원본 목록:
[3, 6, 3, 2, 4, 8, 23]
변환된 목록:
[0, 1, 0, 1, 1, 1, 0] # 0 indicates odd, 1 indicates even
정렬된 목록:
[3, 3, 23, 6, 2, 4, 8] # Odd numbers first, then even numbers
변환된 목록은 본질적으로 우리가 정렬하려는 속성(이 경우 홀수/짝수)을 나타내는 마스크입니다. 그런 다음 Sorted()는 변환된 값의 순서를 사용하여 원래 목록을 정렬하여 원하는 정렬 순서를 얻습니다.
람다 함수의 다양성으로 복잡한 정렬 시나리오가 가능합니다. . 예를 들어, 다음 람다 함수는 두 번째 요소를 기반으로 튜플 목록을 정렬합니다.
sorted([(3, 5, 8), (6, 2, 8), (2, 9, 4), (6, 8, 5)], key=lambda x: x[1])
결과는 각 튜플의 두 번째 요소를 기반으로 정렬된 목록입니다.
이해하면 sorted() 키 인수의 람다 함수 뒤에 있는 구문과 개념을 사용하면 다양한 시나리오에 맞게 정렬 논리를 효과적으로 사용자 정의할 수 있습니다.
위 내용은 Python에서 정렬을 사용자 정의하기 위해 `sorted()` 함수의 `key` 인수 내에서 람다 함수를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!