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

파이썬에서 문자열의 문자를 알파벳순으로 정렬하는 방법

파이썬 문자열 알파벳순 정렬하기

파이썬에서 문자열에 포함된 문자들을 알파벳순으로 정렬하려면 sorted() 함수를 사용하는 것이 가장 간단한 방법입니다. sorted() 함수는 문자열을 받아 정렬된 문자들의 리스트를 반환하며, 이 리스트를 join() 메서드로 다시 합치면 정렬된 문자열을 얻을 수 있습니다.

다음 예제를 살펴보겠습니다.

>>> s = "helloworld"
>>> ''.join(sorted(s))
'dehllloorw'

위 코드에서는 sorted(s)가 문자열 s의 각 문자를 개별 요소로 하는 정렬된 리스트를 반환하고, 빈 문자열 구분자와 함께 ''.join()을 호출하여 리스트의 문자들이 공백 없이 하나의 문자열로 연결됩니다.

중복 문자 제거 후 정렬하기

만약 중복된 문자를 제거하고 고유한(unique) 문자들만 알파벳순으로 정렬하고 싶다면, 집합(set)을 활용할 수 있습니다. 문자열을 set()으로 변환하면 자동으로 중복이 제거되며, 이후 동일하게 정렬하고 합치면 됩니다.

>>> s = "helloworld"
>>> ''.join(sorted(set(s)))
'dehlorw'

원본 문자열 "helloworld"에는 'l'과 'o'가 각각 여러 번 등장하지만, 위 결과에서는 각 문자가 한 번씩만 포함되어 'dehlorw'라는 결과가 출력됩니다.

정리

  • 모든 문자 정렬: ''.join(sorted(문자열))
  • 고유 문자만 정렬: ''.join(sorted(set(문자열)))

두 방법 모두 파이썬의 내장 함수만 사용하기 때문에 별도의 모듈 설치 없이 바로 활용할 수 있으며, 대소문자가 섞인 문자열의 경우 유니코드 순서로 정렬된다는 점도 참고하시기 바랍니다.