알파벳을 1~26의 숫자로 변환하고 싶을 때
ord() 함수는 문자의 유니코드 값을 반환하는 함수이다.
print(ord('a'))
print(ord('A'))
97
65
소문자 a는 97, 대문자 A는 65이다.
따라서 이를 활용해 다음과 같이 알파벳을 순서대로 숫자로 반환할 수 있다.
print(ord('a') - ord('a') +1)
print(ord('b') - ord('a') +1)
print(ord('c') - ord('a') +1)
1
2
3
더 활용하면, 다음과 같이 알파벳으로 이루어진 문자열을 알파벳의 순서에 맞는 숫자로 반환하는 코드를 짤 수 있다.
alphabet = 'abcdefghijklmnopqrstuvwxyz'
alphabet_to_num = []
for i in alphabet:
alphabet_to_num.append(ord(i)-ord('a')+1)
print(alphabet_to_num)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
alphabet = 'apple'
alphabet_to_num = []
for i in alphabet:
alphabet_to_num.append(ord(i)-ord('a')+1)
print(alphabet_to_num)
[1, 16, 16, 12, 5]
'파이썬' 카테고리의 다른 글
[파이썬] 셀의 모든 내용/row/column 출력하기 (0) | 2024.06.01 |
---|---|
[파이썬] 리스트 컴프리헨션 (0) | 2024.05.09 |