반응형
질문
나는 이런 식으로 구성된 튜플 목록을 가지고 있습니다:
[('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]
의 빠른 버전입니다.
반응형
댓글