Python Строка в нижнем и верхнем регистре - PullRequest
1 голос
/ 27 мая 2020

Есть ли способ преобразовать строку в последовательность прописных и строчных букв?

Например, «Километры» → «KiLoMeTeRs».

Ответы [ 2 ]

5 голосов
/ 27 мая 2020
a = 'Kilometers'

print(''.join([char.upper() if i%2==0 else char.lower() for i, char in enumerate(a)]))

результат = 'KiLoMeTeRs'

2 голосов
/ 27 мая 2020

Более эзотерический c способ:

>>> a = 'Kilometers'
>>> "".join("".join(i) for i in zip(a[::2].upper(), a[1::2].lower()))
'KiLoMeTeRs'

или в более сжатой форме @ lenik:

>>> "".join(a+b for a, b in zip(a[::2].upper(), a[1::2].lower()))
...