如何将字符串中的单词顺序颠倒过来?

问题描述 投票:2回答:4

例如

 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

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

python string reverse
4个回答
8
投票

你可以用 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'

7
投票
my_string = "I live in New York"
reversed_string = " ".join(my_string.split(" ")[::-1])

这是一个3个阶段的过程 -- 首先我们把字符串分割成单词, 然后我们把单词反过来,然后再把它们连接起来。


0
投票

第1种方法

你需要对给定的字符串进行拆分,这样,你在字符串中给定的任何单词都会被保存为列表数据类型。然后你就可以将列表元素反过来,用空格将其连接起来。

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=" ")

例子

  • 输入。我住在纽约
  • 产。约克新公司在现场一

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)
© www.soinside.com 2019 - 2024. All rights reserved.