web-dev-qa-db-fra.com

Fractionner une chaîne en 2 en Python

Est-il possible de scinder une chaîne en 2 moitiés égales sans utiliser de boucle en Python?

23
Kiwie Teoh
firstpart, secondpart = string[:len(string)/2], string[len(string)/2:]
50
Senthil Kumaran
a,b = given_str[:len(given_str)/2], given_str[len(given_str)/2:]
6
lalli

En Python 3: 
Si vous voulez quelque chose comme 
madame => ma  un m 
maam => ma suis

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

Une autre approche possible consiste à utiliser divmod. rem est utilisé pour ajouter le caractère du milieu à l'avant (si impair).

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

frontA, backA = split('abcde')
0
J. Lernou