2011-01-25 16 views

cevap

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

Hatta 'firstpart, secondpart = dize [gibi bir şey :: 2], string [1 :: 2] 'den beri soru, parçaların bitişik olması gerektiğini belirtmedi. – Duncan

+0

@Duncan, :) iyi bir cevap .. :) –

+3

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

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

Başka bir olası bir yaklaşım divmod kullanmaktır. rem, orta karakteri öne eklemek için kullanılır (tek ise). Python 3

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

frontA, backA = split('abcde') 
0

:
İsterseniz
bayan => ma d am
Majesteleri => ma duyuyorum

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