본문 바로가기
프로그래밍언어/파이썬[Error]

[파이썬][Error] 049. AttributeError - 'str' object has no attribute 'sort'

by about_IT 2025. 5. 28.
728x90

AttributeError: 'str' object has no attribute 'sort' 오류는 문자열 자료형(str)에 대해 리스트 전용 메서드인 sort()를 호출하려 할 때 발생합니다. 문자열은 정렬 메서드를 직접 제공하지 않기 때문에 이와 같은 오류가 발생합니다.

정렬을 위해 sort()를 사용하려면 문자열을 리스트로 변환한 뒤 리스트 메서드로 정렬하거나, 문자열에 대해 sorted() 내장 함수를 사용해야 합니다.

● 오류 발생 예시

text = "hello"
text.sort()

문자열 textsort() 메서드를 갖고 있지 않기 때문에 오류가 발생합니다.

● 주요 원인

  • 문자열을 리스트처럼 처리하려고 시도
  • 정렬 대상 자료형이 문자열인지 확인하지 않고 sort() 호출
  • 자료형에 대한 이해 부족으로 메서드 오용

● 해결 방법

  • 문자열을 정렬하려면 sorted() 내장 함수 사용
  • 문자열을 리스트로 변환 후 sort() 사용
  • type()으로 변수의 자료형 확인

● 예시 코드 (정상 처리)

# 방법 1: sorted()
text = "hello"
result = sorted(text)
print(result)
# 방법 2: 리스트로 변환 후 sort()
char_list = list("hello")
char_list.sort()
print(char_list)

● 결론

문자열은 리스트처럼 요소를 직접 정렬할 수 없으며, sort() 메서드는 리스트 전용입니다. 문자열을 정렬하고자 한다면 sorted()를 사용하거나, 리스트로 변환 후 정렬해야 합니다.

728x90