본문 바로가기
Python/Python FAQ

Python 주어진 인덱스의 요소를 기준으로 리스트/튜플의 리스트/튜플을 정렬하는 방법, How to sort a list/tuple of lists/tuples by the element at a given index

by 베타코드 2023. 6. 25.
반응형

질문


나는 몇 개의 데이터가 리스트의 리스트 또는 튜플의 리스트에 있습니다. 이렇게 보입니다:

data = [[1,2,3], [4,5,6], [7,8,9]]
data = [(1,2,3), (4,5,6), (7,8,9)]

그리고 나는 하위 집합의 2번째 요소에 따라 정렬하고 싶습니다. 즉, 2(1,2,3)에서, 5(4,5,6)에서 가져온 2,5,8에 따라 정렬하고 싶습니다. 이를 수행하기 위한 일반적인 방법은 무엇인가요? 리스트에는 튜플을 저장해야 하나요?


답변


sorted_by_second = sorted(data, key=lambda tup: tup[1])

또는:

data.sort(key=lambda tup: tup[1])  # 그 자리에서 정렬

기본 정렬 모드는 오름차순입니다. 내림차순으로 정렬하려면 옵션 reverse=True을 사용하세요:

sorted_by_second = sorted(data, key=lambda tup: tup[1], reverse=True)

또는:

data.sort(key=lambda tup: tup[1], reverse=True)  # 그 자리에서 정렬
반응형

댓글