#python #python_3x #инспекция_кода
Есть функция, которая принимает аргумент в виде строки, состоящей из "А", "а", "Б" и "б". Каждая "Б" должна быть заменена на "А", каждая "А" на "Б" и так же с нижним регистром. Пример: >> swap('ААббББаа') 'ББааААбб' Написал такой слабенький код, но рабочий: def swap(text): new_text = [] for c in text: if c == 'а': new_text.append('б') elif c == 'б': new_text.append('а') elif c == 'А': new_text.append('Б') elif c == 'Б': new_text.append('А') return ''.join(new_text) Вопрос: как можно решить эту задачу по другому? Чтобы код был короче и/или быстрее.
Ответы
Ответ 1
Если важна скорость обработки, то рекомендую воспользоваться translate: trantab = str.maketrans('АБаб', 'БАба') text = 'ААббББаа' print(text.translate(trantab)) Результат: ББааААбб
Комментариев нет:
Отправить комментарий