Подтвердить что ты не робот

Разделите строку на 2 в Python

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

4b9b3361

Ответ 1

firstpart, secondpart = string[:len(string)/2], string[len(string)/2:]

Ответ 2

a,b = given_str[:len(given_str)/2], given_str[len(given_str)/2:]

Ответ 3

В Python 3:
Если вы хотите что-то вроде madam = > ma d am
maam = > ma am

first_half  = s[0:len(s)//2]
second_half = s[len(s)//2 if len(s)%2 == 0 else ((len(s)//2)+1):]

Ответ 4

Другим возможным подходом является использование divmod. rem используется для добавления среднего символа к фронту (если нечетно).

def split(s):
    half, rem = divmod(len(s), 2)
    return s[:half + rem], s[half + rem:]

frontA, backA = split('abcde')

Ответ 5

незначительное исправление вышеуказанного решения для строки ниже приведет к ошибке

string = '1116833058840293381'
firstpart, secondpart = string[:len(string)/2], string[len(string)/2:]

Вы можете сделать int(len(string)/2) чтобы получить правильный ответ.

firstpart, secondpart = string[:int(len(string)/2)], string[int(len(string)/2):]