문자열 요소와 정수 요소가 모두 포함된 튜플 목록으로 작업할 때 정수 값을 기준으로 효율적으로 정렬하면 필수적이다. 이 기사에서는 이러한 일반적인 프로그래밍 작업에 대한 솔루션을 자세히 살펴봅니다.
튜플 목록을 두 번째 항목인 정수로 정렬하려면 Python에서 sorted() 함수를 활용할 수 있습니다. 이 함수를 사용하면 키 키워드 인수를 사용하여 정렬 기준을 사용자 정의할 수 있습니다.
키 인수는 튜플을 비교하는 방법을 결정하는 함수를 입력으로 사용합니다. 이 경우 두 번째 요소를 기준으로 비교하려고 합니다. 다음과 같이 람다 구문을 사용하여 사용자 정의 함수를 정의할 수 있습니다.
lambda x: x[1]
이 함수는 단일 튜플을 입력으로 사용하고 두 번째 요소를 반환합니다.
이제 sorted()의 key 인수를 사용하여 이 사용자 정의 함수를 정렬로 지정할 수 있습니다. 규칙:
sorted([('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)], key=lambda x: x[1])
두 번째 요소를 기준으로 오름차순으로 정렬된 튜플을 포함하는 새 목록이 반환됩니다.
[('abc', 121), ('abc', 148), ('abc', 221), ('abc', 231)]
최적의 성능을 위해서는 람다 x: x[1] 대신 Operator.itemgetter(1) 사용을 고려하세요. Operator.itemgetter는 데이터 구조에서 지정된 요소를 추출하기 위해 명시적으로 설계된 내장 함수로, 효율성을 향상시킬 수 있습니다.
from operator import itemgetter sorted([('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)], key=itemgetter(1))
이 접근 방식은 람다 함수를 사용하는 것과 동일한 결과를 얻을 수 있지만 약간 다를 수 있습니다. 어떤 경우에는 더 빠릅니다.
위 내용은 정수 두 번째 요소를 기준으로 Python 튜플을 효율적으로 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!