Использование заглавных букв в строке является частью обработки текста. Мы рассмотрим различные методы Python, такие как манипуляции со строками, понимание списков, регулярные выражения и т. д., позволяющие эффективно и действенно выполнить эту задачу.

Содержание

Использование методов 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.

Использование методов Upper() и Lower()

С использованием 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.

С использованием List Comprehension

С использованием 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 результат можно увидеть на снимке экрана ниже.

С использованием Regex

С помощью метода 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.

С помощью метода find()

С использованием рекурсии

Рекурсия в программировании на 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 был предоставлен снимок экрана ниже.

С использованием функции map() и лямбды

Использование 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 реализовал код.

Использование zip() и join()

С использованием функций 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.

Для лучшего понимания обратитесь к скриншоту ниже:

С использованием функций Split() и join()

Заключение

Здесь мы рассмотрели различные методы написания заглавных букв в строке в Python, используя встроенные методы, такие как Upper() и Lower(), а также более продвинутые подходы, такие как регулярные выражения и рекурсия или понимание списков, метод find(). или используя такие функции, как map() и zip().

Добавить комментарий