Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 튜플 리스트를 알파벳순으로 정렬하는 방법

튜플로 이루어진 리스트를 알파벳순으로 정렬해야 할 때는 'sort' 메서드를 사용하면 됩니다. 다만 이 메서드는 원본 리스트 자체를 직접 수정하는 제자리(in-place) 정렬 방식이므로, 정렬을 수행하면 원본 데이터의 순서가 변경된다는 점에 유의해야 합니다.

'sort' 함수는 기본적으로 값을 오름차순으로 정렬합니다. 만약 내림차순으로 정렬하고 싶다면, 정렬 옵션을 내림차순으로 명시적으로 지정해 주면 됩니다.

참고로 파이썬의 리스트는 정수, 실수, 문자열 등 서로 다른 자료형의 값들을 함께 저장할 수 있는 유연한 자료구조입니다. 튜플 리스트(list of tuples)란 이름 그대로 리스트 안에 여러 개의 튜플이 포함된 형태를 의미합니다.

아래는 실제 동작 예시입니다.

예제 코드

def sort_tuple_vals(my_tup):
    my_tup.sort(key = lambda x: x[0])
    return my_tup
my_tup = [("Hey", 18), ("Jane", 33), ("Will", 56),("Nysa", 35), ("May", "Pink")]

print("The tuple is ")
print(my_tup)
print("After sorting the tuple alphabetically, it becomes : ")
print(sort_tuple_vals(my_tup))

실행 결과

The tuple is
[('Hey', 18), ('Jane', 33), ('Will', 56), ('Nysa', 35), ('May', 'Pink')]
After sorting the tuple alphabetically, it becomes :
[('Hey', 18), ('Jane', 33), ('May', 'Pink'), ('Nysa', 35), ('Will', 56)]

코드 설명

  • 'sort_tuple_vals'라는 이름의 함수가 정의되며, 이 함수는 튜플 리스트를 매개변수로 받습니다.
  • sort 메서드와 람다(lambda) 함수를 활용하여 각 튜플의 첫 번째 요소(x[0])를 기준으로 리스트의 요소들을 정렬합니다.
  • 정렬된 리스트는 함수가 호출될 때 반환됩니다.
  • 이후 튜플 리스트가 정의되고, 해당 리스트를 인자로 전달하여 함수가 호출됩니다.
  • 최종 정렬 결과가 콘솔에 출력됩니다.

만약 원본 리스트를 그대로 유지하면서 정렬된 새로운 리스트를 얻고 싶다면, 제자리 정렬을 수행하지 않는 'sorted()' 함수를 사용하는 것이 좋습니다. 상황에 따라 두 방식을 적절히 선택하면 더욱 안전하고 가독성 좋은 코드를 작성할 수 있습니다.