코딩테스트 공부/코딩테스트 알고리즘 이론

[data.isalpha() :data가 문자인지 아닌지?]

우석SONG 2022. 1. 20. 15:15
result=['a', 'd', 'k', 'k', '15']

위와 같은 리스트가 있을 때 result의 각 원소가 문자인지 아닌지를 알아보자.

나는 처음에 isalpha()라는 함수를 몰랐어서 ord() 함수를 이용해서 문제를 풀었었다. - https://hanyangsw.tistory.com/23?category=1018122 "문자를 숫자로 차례대로 바꾸고 싶을 때" 참조

 

for i in range(len(result)):
  if ord(result[i])<58:
    print(result[i],"는 숫자입니다")

실행결과 :

9 는 숫자입니다

 

하지만 ord 함수를 쓰게 되면 '0' 은 48로 '9'는 58로 치환되는 것을 알고 있어야 하고, 또한 ord('여기 이자리에') 들어갈 수있는 문자열로 두자리 숫자는 되지 않는다. 

따라서 어떤 data가 문자인지 판단하는 가장 좋은 방법은 isalpha() 함수이다. 

for i in range(len(result)):
  if result[i].isalpha():
    print(result[i],"는 문자입니다")
  else:
    print(result[i],"는 숫자입니다.")

a 는 문자입니다

d 는 문자입니다

k 는 문자입니다

k 는 문자입니다

9 는 숫자입니다.