Разделить строку пополам в Python

Строки можно рассматривать как последовательность символов. В Python такие объекты неизменяемы и могут использоваться с различными функциями.

В этом руководстве мы обсудим, как разделить строку на две половины в Python.

Для этого мы будем использовать метод нарезки строк.

В строках каждый символ хранится в определенной позиции. Мы можем использовать эти индексы для доступа к символам. Нарезка строки - это метод разделения строки на подстроки с использованием метода индексации. Мы можем использовать этот метод, чтобы разделить строку пополам.

См. Код ниже.

s = "string"
s1 = s[:len(s)//2]
s2 = s[len(s)//2:]
print(s1,s2)

Выход:

str ing

В приведенном выше коде мы имели дело со строкой, содержащей четное количество символов. Функция len() здесь используется для возврата длины строки. Мы разделяем строку на одну половину, содержащую первую половину символов, и вторую подстроку, содержащую вторую половину.

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

Например,

s = "example"
s1 = s[:len(s)//2]
s2 = s[len(s)//2:]
print(s1,s2)

Выход:

exa mple

Мы также можем удалить этот лишний символ, если захотим. Для этого нам просто нужно внести небольшие изменения в приведенный выше код. Мы будем использовать оператор if(), чтобы проверить, четная ли длина строки или нет. Если он четный, то делим его на два и разделяем строку; в противном случае мы увеличим его половину на единицу и пропустим лишний символ в середине.

Например,

s = "example"
s1 = s[:len(s)//2]
s2 = s[len(s)//2 if len(s)%2 == 0
                 else (((len(s)//2))+1):]
print(s1,s2)

Выход:

exa ple

Мы также можем использовать конструктор slice() для выполнения нарезки строки. Чтобы использовать этот метод, нам нужно использовать эту функцию и инициировать объект. Мы используем этот объект, чтобы выполнить нарезку и разделить строку на две половины.

Например,

s = "string"
a = len(s)
s1 = slice(0,len(s)//2)
s2 = slice(len(s)//2, len(s))
print(s[s1], s[s2])

Выход:

str ing

Обратите внимание, что в этой статье обсуждалось, как разделить строку на две равные части. Мы можем очень легко использовать вышеуказанные методы для разделения строки также на основе некоторого индекса.

Сопутствующая статья - Python String

  • Как проверить, что строка пуста в Python
  • Как удалить белый пробел в строке на Python
  • Как конвертировать строку в дату на Python
  • Как преобразовать строку в нижний кейс на Python 2 и 3