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 는 숫자입니다.
'코딩테스트 공부 > 코딩테스트 알고리즘 이론' 카테고리의 다른 글
[리스트 원소를 한 줄로 출력] (0) | 2022.01.20 |
---|---|
[문자를 순서대로 숫자로? a->1 , b->2] (0) | 2022.01.17 |
코딩테스트 알고리즘 종류 (0) | 2022.01.13 |
[자료구조]우선순위 큐(Priority Queue)와 힙(Heap) (1) | 2022.01.12 |