>백엔드 개발 >파이썬 튜토리얼 >정수 두 번째 요소를 기준으로 Python 튜플을 효율적으로 정렬하는 방법은 무엇입니까?

정수 두 번째 요소를 기준으로 Python 튜플을 효율적으로 정렬하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-05 08:44:17491검색

How to Efficiently Sort Python Tuples by Their Integer Second Element?

두 번째 요소(정수 값)를 기준으로 Python 튜플 정렬

문자열 요소와 정수 요소가 모두 포함된 튜플 목록으로 작업할 때 정수 값을 기준으로 효율적으로 정렬하면 필수적이다. 이 기사에서는 이러한 일반적인 프로그래밍 작업에 대한 솔루션을 자세히 살펴봅니다.

튜플 목록을 두 번째 항목인 정수로 정렬하려면 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)]

Operator.itemgetter로 정렬 최적화

최적의 성능을 위해서는 람다 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.