Python에서 정렬을 사용자 정의하기 위해 `sorted()` 함수의 `key` 인수 내에서 람다 함수를 어떻게 사용할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-10-30 08:34:02
원래의
1003명이 탐색했습니다.

How can I use lambda functions within the `sorted()` function's `key` argument to customize sorting in Python?

Sorted의 람다 키 구문 이해

sorted() 함수는 특정 기준에 따라 목록을 재정렬하는 다양한 방법을 제공합니다. key 인수를 사용하면 익명 람다 함수를 활용하여 정렬을 위한 사용자 지정 논리를 사용할 수 있습니다.

Lambda 구문 설명

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
로그인 후 복사

Intuition for 키 변환

변환된 목록은 본질적으로 우리가 정렬하려는 속성(이 경우 홀수/짝수)을 나타내는 마스크입니다. 그런 다음 Sorted()는 변환된 값의 순서를 사용하여 원래 목록을 정렬하여 원하는 정렬 순서를 얻습니다.

복잡한 정렬에 Lambda 사용

람다 함수의 다양성으로 복잡한 정렬 시나리오가 가능합니다. . 예를 들어, 다음 람다 함수는 두 번째 요소를 기반으로 튜플 목록을 정렬합니다.

sorted([(3, 5, 8), (6, 2, 8), (2, 9, 4), (6, 8, 5)], key=lambda x: x[1])
로그인 후 복사

결과는 각 튜플의 두 번째 요소를 기반으로 정렬된 목록입니다.

이해하면 sorted() 키 인수의 람다 함수 뒤에 있는 구문과 개념을 사용하면 다양한 시나리오에 맞게 정렬 논리를 효과적으로 사용자 정의할 수 있습니다.

위 내용은 Python에서 정렬을 사용자 정의하기 위해 `sorted()` 함수의 `key` 인수 내에서 람다 함수를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!