问题描述:
字符串按单词反转(必须保留所有空格)。' I love china! '转化为'' china! love I '
1.http://blog.csdn.net/caroline_wendy/article/details/23438739
参考上述博客了解到实现python字符串的五种方法
# -*- coding: utf-8 -*- #eclipse pydev, python 3.3 #by C.L.Wang #time: 2014. 4. 11 string = 'abcdef' def string_reverse1(string): return string[::-1] def string_reverse2(string): t = list(string) l = len(t) for i,j in zip(range(l-1, 0, -1), range(l//2)): t[i], t[j] = t[j], t[i] return "".join(t) def string_reverse3(string): if len(string) <= 1: return string return string_reverse3(string[1:]) + string[0] from collections import deque def string_reverse4(string): d = deque() d.extendleft(string) return ''.join(d) def string_reverse5(string): #return ''.join(string[len(string) - i] for i in range(1, len(string)+1)) return ''.join(string[i] for i in range(len(string)-1, -1, -1)) print(string_reverse1(string)) print(string_reverse2(string)) print(string_reverse3(string)) print(string_reverse4(string)) print(string_reverse5(string))
2.思路:先将整个字符串翻转,得到['!anihC', 'evol', 'I']
然后将字符串切分开,得到'!anihC' 'evol' 'I'
将每个单词再翻转,得到['China!', 'love', 'I']
最后将单词合并,得到China! love I
3.代码
# -*- coding:utf-8_-*- #字符串反转 import string str='I love China!' def string_reverse(string): return string[::-1] strArr=(string_reverse(str)).split(' ') print(strArr) for i in range(0,2): strArr[i]=string_reverse(strArr[i]) print(strArr) print(' '.join(strArr))