2011-01-25 45 views

Trả lời

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

Hoặc thậm chí 'firstpart, secondpart = string [ :: 2], string [1 :: 2] 'vì câu hỏi không xác định rằng các phần phải tiếp giáp. – Duncan

+0

@ Duncan, :) câu trả lời tốt quá .. :) –

+3

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

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

Một cách tiếp cận có thể là sử dụng divmod. rem được sử dụng để chắp thêm ký tự ở giữa vào mặt trước (nếu lẻ).

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

frontA, backA = split('abcde') 
0

Trong Python 3:
Nếu bạn muốn một cái gì đó giống như
madam => ma d am
maam => ma là

first_half = s[0:len(s)//2] 
second_half = s[len(s)//2 if len(s)%2 == 0 else ((len(s)//2)+1):] 
Các vấn đề liên quan