2011-01-25 23 views

Respuesta

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

O incluso 'firstpart, secondpart = cadena [ :: 2], cadena [1 :: 2] 'ya que la pregunta no especificaba que las partes debían ser contiguas. – Duncan

+0

@Duncan, :) buena respuesta también ... :) –

+3

En python3: 'firstpart, secondpart = string [: len (cadena) // 2], cadena [len (cadena) // 2:]' – Omid

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

Otra posibilidad es utilizar DIVMOD. rem se usa para agregar el carácter del medio al frente (si es impar).

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

frontA, backA = split('abcde') 
0

En Python 3:
Si quieres algo así como
señora => 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):] 
Cuestiones relacionadas