파이썬 문자열 리스트 정렬의 두 가지 방법
파이썬에서 문자열 리스트를 정렬하는 방법은 크게 두 가지가 있습니다. 하나는 원본 리스트 자체의 순서를 직접 변경하는 sort() 메서드이고, 다른 하나는 원본은 그대로 유지하면서 정렬된 새로운 리스트를 반환하는 sorted() 함수입니다.
1. sort() 메서드로 제자리 정렬하기
sort() 메서드는 리스트를 제자리(in-place)에서 정렬합니다. 즉, 리스트 자체의 순서를 직접 변경하며, 별도의 값을 반환하지 않습니다.
>>> a = ["Hello", "My", "Followers"]
>>> a.sort()
>>> print(a)
['Followers', 'Hello', 'My']
위 예제처럼 정렬을 실행하면 원본 리스트 a의 순서 자체가 알파벳순으로 변경됩니다.
2. sorted() 함수로 새로운 정렬 리스트 만들기
원본 리스트를 그대로 유지하고 싶다면 파이썬 내장 함수인 sorted()를 사용하세요. 이 함수는 정렬된 요소들로 구성된 새로운 리스트를 반환합니다.
>>> a = ["Hello", "My", "Followers"]
>>> b = sorted(a)
>>> print(b)
['Followers', 'Hello', 'My']
이 경우 원본 리스트 a는 변하지 않으며, 정렬된 결과만 새로운 변수 b에 저장됩니다.
활용 팁: 내림차순과 대소문자 옵션
두 방법 모두 유용한 옵션을 지원합니다.
- 내림차순 정렬:
reverse=True옵션을 사용하면 역순으로 정렬할 수 있습니다. - 대소문자 무시 정렬:
key=str.lower옵션을 사용하면 대소문자 구분 없이 정렬할 수 있습니다.
>>> a = ["Hello", "My", "Followers"]
>>> a.sort(reverse=True)
>>> print(a)
['My', 'Hello', 'Followers']
정리
원본 리스트를 직접 변경해도 괜찮다면 sort() 메서드를, 원본을 유지한 채 새로운 정렬 리스트가 필요하다면 sorted() 함수를 사용하는 것이 좋습니다. 상황에 맞게 적절한 방법을 선택하면 코드의 안정성과 가독성을 모두 높일 수 있습니다.