Python反向列表

use*_*619 47 python

我正在尝试反转字符串并使用下面的代码,但结果反向列表值为None.

代码:

str_a = 'This is stirng'
rev_word = str_a.split()
rev_word = rev_word.reverse()
rev_word = ''.join(rev_word)
Run Code Online (Sandbox Code Playgroud)

它返回TypeError.为什么?

Sea*_*son 120

这是我个人最喜欢的反转字符串的方法:

stra="This is a string"
revword = stra[::-1]

print(revword) #"gnirts a si sihT
Run Code Online (Sandbox Code Playgroud)

或者,如果你想颠倒单词顺序:

revword = " ".join(stra.split()[::-1])

print(revword) #"string a is This"
Run Code Online (Sandbox Code Playgroud)

:)


Eri*_*ric 51

.reverse()回报None.因此,您不应将其分配给变量.

请改用:

stra = 'This is a string'
revword = stra.split()
revword.reverse()
revword=''.join(revword)
Run Code Online (Sandbox Code Playgroud)

在IDEOne上运行代码,以便您可以看到输出.(另请注意,输出是stringaisThis;您可能希望使用' '.join(revword)带空格的.)

另请注意,您提供的方法仅反转单词,而不是文本.@ ron.rothman提供了一个链接,详细说明了如何完整地反转字符串.


Pad*_*118 7

字符串上的各种反转:

instring = 'This is a string'
reversedstring = instring[::-1]
print reversedstring        # gnirts a si sihT
wordsreversed = ' '.join(word[::-1] for word in instring.split())
print wordsreversed         # sihT si a gnirts
revwordorder = ' '.join(word for word in instring.split()[::-1])
print revwordorder          # string a is This
revwordandorder = ' '.join(word[::-1] for word in instring.split()[::-1])
print revwordandorder       # gnirts a si sihT
Run Code Online (Sandbox Code Playgroud)


dm0*_*514 6

对于将来的参考,当一个对象有一个类似[].reverse()它的方法时,它通常对该对象执行该操作(即列表被排序并且不返回任何内容,None),而内置函数则sorted对对象执行操作并返回值(即排序清单)