데이터 정렬은 많은 프로그래밍 작업의 기본 측면입니다. 복잡한 데이터 구조를 다룰 때 여러 속성을 기준으로 정렬해야 하는 경우가 많습니다. 이 문서에서는 여러 기준에 따라 목록 목록을 정렬하는 문제를 다룹니다.
제공된 코드 조각은 목록 목록을 보여주며, 여기서 각 내부 목록은 다양한 속성을 가진 개체를 나타냅니다. 목표는 "tall" 또는 "short" 속성과 색상 속성이라는 두 가지 속성을 기준으로 이 목록을 정렬하는 것입니다.
Itemgetter는 다음과 같은 경우에 유용한 기능입니다. 튜플에서 여러 속성을 인덱싱합니다. 여러 인덱스를 인수로 사용하고 주어진 튜플에서 해당 속성을 추출하는 함수를 반환합니다. itemgetter를 사용하면 정렬을 위해 "긴/짧은" 속성과 색상 속성을 모두 고려하는 주요 함수를 생성할 수 있습니다.
import operator s = sorted(s, key = operator.itemgetter(1, 2))
또 다른 방법 정렬을 위한 주요 함수를 지정하는 것은 람다 함수를 사용하는 것입니다. Lambda 함수는 인라인으로 정의할 수 있는 익명 함수입니다. 다음 람다 함수는 "tall/short" 및 색상 속성의 튜플을 반환합니다.
s = sorted(s, key = lambda x: (x[1], x[2]))
이러한 방법 중 하나를 사용하면 여러 기준에 따라 목록을 정렬할 수 있습니다. 결과는 지정된 속성에 따라 정렬된 목록 목록입니다.
주어진 코드 조각에서 sorted는 새로운 정렬 목록을 반환하는 데 사용됩니다. 그러나 sort 메서드를 사용하여 목록 자체를 직접 정렬할 수도 있습니다. 이렇게 하면 원래 목록이 수정됩니다.
s.sort(key = operator.itemgetter(1, 2))
itemgetter 또는 람다 함수를 활용하면 여러 속성을 기준으로 목록을 정렬하는 키 함수를 정의할 수 있습니다. 이 기술은 복잡한 데이터 구조를 처리할 때 특히 유용하며 정렬 프로세스를 단순화할 수 있습니다.
위 내용은 Python에서 여러 속성으로 목록을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!