Можно ли как-то инкрементировать символ латинского алфавита? Нужно пройтись по алфавиту в Python, либо по числу получать какой-то определенный символ, есть такие функции?
Ответ
Получение символа по его номеру из Unicode:
>>> chr(65)
'A'
>>> chr(122)
'z'
>>> print(chr(128522))
😊
(в Python 2 лучше вместо chr использовать unichr)
Получение номера из Unicode по символу:
>>> ord('A')
65
>>> ord('z')
122
>>> ord('😊')
128522
Заранее заготовленные строки с латинскими (и не только) символами есть в модуле string
>>> import string
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
По этим строкам можно проходиться циклом:
for c in string.ascii_letters:
print(c)
Во всяких генераторных выражениях и условиях, разумеется, тоже:
>>> import string
>>> s = 'fooУБРАТЬbarОТСЮДАbazНЕЛАТИНСКОЕ'
>>> s2 = ''.join(c for c in s if c in string.ascii_letters)
>>> print(s2)
foobarbaz
Комментариев нет:
Отправить комментарий