개발공부/개발

[python] 'ord' method를 사용해서 character를 정수로 나타내는 방법

so.py 2021. 5. 19. 15:50

character간의 차이를 계산해야하는 경우가 있다.

 

예를 들어 'A'와 'B'는 1의 차이가 나고, 'A'와 'D'는 4의 차이가 난다. 이러한 경우에는 각 알파벳을 숫자로 치환해야하는데, 일일히 치환할 필요없이 파이썬의 'ord'라는 method를 사용하면 쉽게 계산할 수 있다!

letters = "abyz"

numbers = []
for letter in letters:
  number = ord(letter) - 96
  numbers.append(number)

print(numbers)

>>> [1, 2, 25, 26]

 

위의 예시에서는 "abyz"라는 단어를 parse해서 각각의 알파벳을 정수로 나타낸다. a는 1, z는 26으로 표현된 것을 볼 수 있다. 96을 빼주는 이유는 알파벳은 97부터 리턴되기 때문에 숫자를 간결화하기 위해서이다.

* 대문자의 경우는 64를 빼주고, 소문자의 경우는 97를 빼주는 것이 좋다.