본문 바로가기
Python/Python FAQ

Python 2 번째 항목 (정수 값)으로 튜플 목록을 정렬하십시오. [중복], Sort a list of tuples by 2nd item (integer value) [duplicate]

by 베타코드 2023. 10. 8.
반응형

질문


나는 이런 식으로 구성된 튜플 목록을 가지고 있습니다:

[('abc', 121),('abc', 231),('abc', 148), ('abc',221)]

나는 이 목록을 튜플 내부의 정수 값에 따라 오름차순으로 정렬하고 싶습니다. 가능한가요?


답변


기본적으로 오름차순으로 정렬하는 sorted()key 키워드 인수를 사용해보세요:

sorted(
    [('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)], 
    key=lambda x: x[1]
)

key는 데이터 구조에서 비교 가능한 요소를 어떻게 가져올지를 식별하는 함수여야 합니다. 여기서는 튜플의 두 번째 요소이므로 [1]을 사용합니다.

최적화를 위해 operator.itemgetter(1)을 사용한 jamylak의 응답을 참조하세요. 이는 사실상 lambda x: x[1]의 빠른 버전입니다.

반응형

댓글