python基本语法2.7--综合训练之实现字符串的翻转

问题描述:

字符串按单词反转(必须保留所有空格)。' 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))

 

posted on 2017-10-19 21:27  小嘤嘤  阅读(305)  评论(0编辑  收藏  举报

导航