如何在python中反转字符串中字母的顺序
在python中,如何颠倒字符串中单词的顺序以及单词中字母的顺序 例如,如果输入为:如何在python中反转字符串中字母的顺序,python,string,functional-programming,Python,String,Functional Programming,在python中,如何颠倒字符串中单词的顺序以及单词中字母的顺序 例如,如果输入为: Hello world 输出应为: olleH dlrow 我的尝试: a=input('Line: ') print(a[::-1]) 您可以使用以下方法尝试此操作: 或者最好试试这个: >>> s='Hello World' >>> ' '.join(w[::-1] for w in s.split()) 'olleH dlrow' 您期望的输出与您的需求描述
Hello world
输出应为:
olleH dlrow
我的尝试:
a=input('Line: ')
print(a[::-1])
您可以使用以下方法尝试此操作: 或者最好试试这个:
>>> s='Hello World'
>>> ' '.join(w[::-1] for w in s.split())
'olleH dlrow'
您期望的输出与您的需求描述相冲突,即“如何颠倒字符串中单词的顺序以及单词中字母的顺序。”。这与反转字符串是一样的,您已经提供了字符串作为解决方案。相反,要反转每个单词中的字母,但保留这些单词的顺序,可以在每个单词上使用
split()
和反向切片([:-1]
)
s = "Hello world"
for word in s.split():
print word[::-1],
或者,像这样:
print ' '.join(word[::-1] for word in s.split())
以上假设您不需要保留单词之间的精确空格。因此,如果输入为“hello world”,则输出为“dlorw olleh”。但是,代码输出应该是“olleh dlrow”。OP的问题与不同,因为他们也希望颠倒单词的顺序。请忽略我的重复标记。我可以回答这部分问题,但是输出必须是“olleH dlrow”而不是“dlrow olleH”
print ' '.join(word[::-1] for word in s.split())