Использование заглавных букв в строке является частью обработки текста. Мы рассмотрим различные методы Python, такие как манипуляции со строками, понимание списков, регулярные выражения и т. д., позволяющие эффективно и действенно выполнить эту задачу.
- Использование методов Upper() и Lower()
- С использованием List Comprehension
- С использованием Regex
- С помощью метода find()
- С использованием рекурсии
- С использованием функции map() и лямбды
- Использование zip() и join()
- С использованием функций Split() и join()
- Заключение
Использование методов Upper() и Lower()
Методы Upper() и Lower() являются встроенными строковыми методами Python.
Мы используем эти методы, чтобы чередовать использование заглавных и не заглавных символов в строке.
Давайте рассмотрим пример использования заглавных букв в строке в Python.
Код:
text = "united states of america is a diverse country" capitalized_text = "" for i in range(len(text)): if i % 2 == 0: capitalized_text += text[i].upper() else: capitalized_text += text[i].lower() print(capitalized_text)
В этом коде мы перебираем каждый символ строки. Если индекс четный, в Python мы пишем символ с заглавной буквы. В противном случае оставляем без изменений.
for i in range(len(text)): if i % 2 == 0: capitalized_text += text[i].upper() else: capitalized_text += text[i].lower()
Выход:
UnItEd StAtEs Of AmErIcA Is A DiVeRsE CoUnTrY
Скриншот упомянут ниже после реализации кода в редакторе Python.
С использованием List Comprehension
Понимание списков в Python предоставляет краткий синтаксис для создания списков на основе выражений и необязательных условий.
Код:
text = "united states of america is a diverse country" capitalized_text = ''.join([text[i].upper() if i % 2 == 0 else text[i].lower() for i in range(len(text))]) print(capitalized_text)
В этом коде мы используем понимание списка для перебора каждого символа в строке.
Мы используем символы с заглавной буквы по четным индексам, а остальные оставляем без изменений.
Выход:
UnItEd sTaTeS Of aMeRiCa iS A DiVeRsE CoUnTrY
Ниже приведен скриншот после реализации кода в редакторе Python.
С использованием Regex
Здесь регулярное выражение с функцией re.sub() используется для сопоставления каждого символа в строке и поочередного использования или не использования заглавных букв в Python.
Код:
import re text = "united states of america is a diverse country" capitalized_text = re.sub(r'(\w)(\w)', lambda m: m.group(1).upper() + m.group(2), text) print(capitalized_text)
Этот код использует re.sub() на основе специальной лямбда-функции Python.
Лямбда-функция использует заглавные буквы по четным индексам и сохраняет остальные без изменений.
Выход:
UnItEd StAtEs Of AmErIca Is a DiVeRse CoUnTry
После выполнения кода на Python результат можно увидеть на снимке экрана ниже.
С помощью метода find()
Метод find() — это встроенный метод Python, который используется для поиска индекса первого вхождения подстроки в строку.
Здесь мы используем его для определения позиции каждого символа в строке и чередуем их использование с заглавной буквы или без нее.
Код:
greeting = "Hello everyone, I am Peter Parker" formatted_greeting = greeting.lower().replace(" ","") print("The original string is : " +(greeting)) res = "" loweralpha = "abcdefghijklmnopqrstuvwxyz" upperalpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" for i in range(0, len(formatted_greeting)): if(i % 2 == 0): res += upperalpha[loweralpha.find(formatted_greeting[i])] else: res += loweralpha[loweralpha.find(formatted_greeting[i])] print("The alternate case string is : " + str(res))
Мы используем ту же логику, что и в предыдущем примере, с методом find() в Python.
Выход:
The original string is : Hello everyone, I am Peter Parker The alternate case string is : HeLlOeVeRyOnEzIaMpEtErPaRkEr
Ниже приведен снимок экрана, показывающий результат реализации кода в редакторе Python.
С использованием рекурсии
Рекурсия в программировании на Python — это метод, при котором функция вызывает саму себя для решения проблемы.
Код:
def alternate_cases(s, i=0): if i == len(s): return "" return(s[i].upper() if i % 2 == 0 else s[i].lower()) + alternate_cases(s, i+1) population = "Population of USA is 330 million people" print("The original string is : " + str(population)) res = alternate_cases(population) print("The alternate case string is : " + str(res))
Этот код определяет рекурсивную функцию, которая использует заглавные буквы в четных индексах и оставляет остальные без изменений.
def alternate_cases(s, i=0): if i == len(s): return "" return(s[i].upper() if i % 2 == 0 else s[i].lower()) + alternate_cases(s, i+1)
Выход:
PoPuLaTiOn oF UsA Is 330 mIlLiOn pEoPlE
Ниже приведен снимок экрана, демонстрирующий выходные данные, полученные после выполнения кода в редакторе Python.
С использованием функции map() и лямбды
Функция map() возвращает объект карты результатов после применения данной функции к каждому элементу заданной строки Python, а лямбда-функция может принимать любое количество аргументов. Тем не менее, в Python может быть только одно выражение.
Код:
about_country = "The United States is known for its economic power, technological innovation, and cultural influence" result = "".join([about_country[i].upper() if i%2==0 else about_country[i].lower() for i in range(len(about_country))]) print(result)
Эта лямбда-функция в Python применяется к каждому индексу входной строки с помощью функции map(), создавая последовательность измененных символов. Наконец, эти измененные символы объединяются в одну строку с помощью .join() и печатаются.
"".join([about_country[i].upper() if i%2==0 else about_country[i].lower() for i in range(len(about_country))])
Выход:
ThE UnItEd sTaTeS Is kNoWn fOr iTs eCoNoMiC PoWeR, tEcHnOlOgIcAl iNnOvAtIoN, aNd cUlTuRaL InFlUeNcE
После реализации кода в редакторе Python был предоставлен снимок экрана ниже.
Использование zip() и join()
Здесь мы будем использовать функцию zip() для агрегирования элементов из двух итераций, поэтому она берет два или более наборов данных и «сжимает» их вместе, а метод join() создает строку с альтернативной регистрацией заглавных букв в Python.
Код
information = "the United States is one of the most populous countries in the world." print("original string is: ",information) res = "".join("".join(x) for x in zip(information[0::2].upper(), information[1::2].lower())) print("alternate case string is : " + res)
В этом коде символы с четными и нечетными индексами объединяются вместе, затем пишутся с заглавной буквы и объединяются в строку.
Выход:
original string is: the United States is one of the most populous countries in the world. alternate case string is : ThE UnItEd sTaTeS Is oNe oF ThE MoSt pOpUlOuS CoUnTrIeS In tHe wOrLd
Следующий снимок экрана был сделан после того, как редактор Python реализовал код.
С использованием функций Split() и join()
Метод Split() возвращает список подстрок, где каждая подстрока по умолчанию в Python разделяется пробелом.
Код:
def alternate_cases(string): return ''.join([''.join(char.upper() if i%2 == 0 else char.lower() for i, char in enumerate(word)) for word in string.split()]) country = " United States of America dynamiccountry with a rich history and vast natural beauty." print("The original string is: ",country) res = alternate_cases(country) print("The alternate case string is : " + res)
В этом коде строка Python разбивается на слова, а затем используется понимание списка для перебора каждого символа в каждом слове. Альтернативные символы пишутся с заглавной буквы, а затем снова объединяются в одну строку.
Выход:
The original string is: United States of America dynamic country with a rich history and vast natural beauty. The alternate case string is : UnItEdStAtEsOfAmErIcADyNaMiCCoUnTrYWiThARiChHiStOrYAnDVaStNaTuRaLBeAuTy.
Для лучшего понимания обратитесь к скриншоту ниже:
Заключение
Здесь мы рассмотрели различные методы написания заглавных букв в строке в Python, используя встроенные методы, такие как Upper() и Lower(), а также более продвинутые подходы, такие как регулярные выражения и рекурсия или понимание списков, метод find(). или используя такие функции, как map() и zip().