经典算法问题:“this is a test” 逆序输出为“test a is this”.使用Python实现

看了http://www.dewen.org/q/13218/java++字符串的倒置排序 这个里面的回答之后,有了思路。鉴于本人刚学Python,小小练习算是。

思路就是先分割,再逆序,然后相加。


import sys

string = ''
string1 = raw_input('Enter a string:')
#string1 = 'this is a test'

#先分割,再逆序,最后相加。这里较为简便是因为list中每个元素就是一个字符串,所以直接相加就可以了
list1 = string1.split(' ')
list2 = list1[::-1]
for x in range(0,len(list2)):
	
	string += list2[x] + " "

print string


又试了一下,发现逆序后的字符串长度加了1,是因为多了一个‘ ’ 空格,所以在for循环中添加一个if限定,保证最后一次不带空格

for x in range(0,len(list2)):
	if x == len(list2)-1:
		string += list2[x]
	else:
		string += list2[x] + " "


最近又发现了reverse()这个函数,故来修改之:

string = ''
#string1 = raw_input('Enter a string:')
string1 = 'this is a test'
print len(string1)
#先分割,再逆序,最后相加。这里较为简便是因为list中每个元素就是一个字符串,所以直接相加就可以了
list1 = string1.split(' ')

list1.reverse()

for i in list1:
	print i,


最新的方法:


经典算法问题:“this is a test” 逆序输出为“test a is this”.使用Python实现_第1张图片


你可能感兴趣的:(算法,String,python)