Страницы

Поиск по вопросам

среда, 10 апреля 2019 г.

Проход по алфавиту Python

Можно ли как-то инкрементировать символ латинского алфавита? Нужно пройтись по алфавиту в 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

Комментариев нет:

Отправить комментарий