有没有办法在不使用Python循环的情况下将字符串拆分为2个相等的一半?
答案 0 :(得分:53)
firstpart, secondpart = string[:len(string)/2], string[len(string)/2:]
答案 1 :(得分:6)
a,b = given_str[:len(given_str)/2], given_str[len(given_str)/2:]
答案 2 :(得分:1)
在Python 3中:
如果你想要像这样的东西
女士=> ma d am
maam =>我是
df
答案 3 :(得分:0)
另一种可能的方法是使用divmod。 rem用于将中间字符附加到前面(如果是奇数)。
def split(s):
half, rem = divmod(len(s), 2)
return s[:half + rem], s[half + rem:]
frontA, backA = split('abcde')
答案 4 :(得分:0)
较小的校正 以下字符串的上述解决方案将引发错误
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):]
答案 5 :(得分:0)
无论谁建议 string [:len(string)/ 2],string [len(string)/ 2 都不在意奇数长度的字符串!
这很好用。在edx上验证。
first_half = s [:len(s)// 2]
second_half = s [len(s)// 2:]