如何使用python反转单词字符串的顺序

时间:2015-12-07 08:00:46

标签: python-2.7

例如:

 input:  I live in New York
 output: York New in live I

P.S:我使用了s[::-1],这只是反转字符串,就像      kroY weN ni evil I,但这不是理想的输出。 我也尝试过:

def rev(x) :
    x = x[::-1]
    for i in range(len(x)) :
        if x[i] == " " :
            x = x[::-1]
            continue
        print x

但这也是不正确的 请帮我编写代码。

4 个答案:

答案 0 :(得分:5)

您可以使用split获取单独的字词reverse以反转列表,最后join再次加入它们以制作最终字符串:

s="This is New York"
# split first
a=s.split()
# reverse list
a.reverse()
# now join them
result = " ".join(a)
# print it
print(result)

结果:

'York New is This'

答案 1 :(得分:5)

my_string ="我住在纽约" reversed_string =" " .join(my_string.split("")[:: - 1]) 这是一个三阶段的过程 - 首先我们将字符串拆分为单词,然后我们反转单词然后再将它们连接在一起。

答案 2 :(得分:0)

第一种方法

您需要分割给定的字符串,以便将您在字符串中输入的所有单词保存为列表数据类型。然后,您可以反转列表元素并将其与空格连接。

x = input("Enter any sentence:")
y = x.split(' ')
r = y[::-1]
z = ' '.join(r)

print(z)

第二种方法

与第一个相同,但是在反转之后,您需要遍历列表并通过在每个列表元素之后插入一个空格(“”)来打印元素。

x = input("Enter any sentence: ")
y = x.split(' ')
r = y[::-1]

for i in r:
    print(i , end=" ")

示例

  • 输入:我住在纽约
  • 输出:直播中的York New I

答案 3 :(得分:0)

这可以是另一种方法,但是可以用:

a="this is new york"
b=a.split(" ")
tem=[]
i=-1
for j in range(len(b)):
   tem.append(b[i])
   i-=1
print(*tem)