문자열 내의 문자들을 알파벳 순으로 정렬하고 싶으면 어떻게 해야 할까요?
먼저 숫자 정렬에 이용했던 sort() 함수를 이용해보면, 문자열은 sort라는 함수를 사용할 수 없다는 에러를 만나게 됩니다.
string = "banana"
string.sort()
>> AttributeError: 'str' object has no attribute 'sort'
즉, sort 함수를 쓰기 위해서는 list를 만들어 사용해야 하기 때문에, 문자열을 각 문자를 원소로 갖는 list로 변환 후 sort 함수를 이용하면 정렬이 가능합니다. 정렬 이후에 다시 list를 join 함수를 이용해 문자열로 만들어 주면 해결이 가능합니다.
string = "banana"
arr = list(string)
arr.sort()
print(arr) # ['a', 'a', 'a', 'b', 'n', 'n']
sorted_str = ''.join(arr)
print(sorted_str) # aaabnn
sorted() 함수는 어떨까요? sorted 함수의 경우에는, 문자열을 함수 인자로 넣더라도, 이를 성공적으로 정렬해줍니다. 다만, 결과물이 list로 나오는 것을 확인할 수 있습니다.
string = "banana"
sorted_arr = sorted(string)
print(sorted_arr) # ['a', 'a', 'a', 'b', 'n', 'n']
따라서 sorted 함수를 이용한 이후에 다시 join함수를 이용해 문자열을 만들어주면 됩니다.
string = "banana"
sorted_arr = sorted(string)
print(sorted_arr) # ['a', 'a', 'a', 'b', 'n', 'n']
sorted_str = ''.join(sorted_arr)
print(sorted_str) # aaabnn
'알고리즘' 카테고리의 다른 글
[Python] 아스키 코드 (0) | 2024.10.18 |
---|---|
[python] 파이썬 출력방법 정리 (0) | 2024.10.18 |
[python] 다수의 인자를 받는 함수 작성법 (0) | 2024.10.18 |
[Python] lambda 함수 사용법 (1) | 2024.10.18 |
[알고리즘] 날짜 계산 관련 사용하기 좋은 코드(python) (0) | 2024.09.23 |