Python reverse list
本问题已经有最佳答案,请猛点这里访问。
我试图反转一个字符串并使用下面的代码,但结果反转列表值为"无"。
代码:
1 2 3 4 | str_a = 'This is stirng' rev_word = str_a.split() rev_word = rev_word.reverse() rev_word = ''.join(rev_word) |
返回
这是我个人最喜欢的反转字符串的方法:
1 2 3 4 | stra="This is a string" revword = stra[::-1] print(revword) #"gnirts a si sihT |
或者,如果要颠倒单词顺序:
1 2 3 | revword ="".join(stra.split()[::-1]) print(revword) #"string a is This" |
:)
改为使用:
1 2 3 4 | stra = 'This is a string' revword = stra.split() revword.reverse() revword=''.join(revword) |
我已经在IDeone上为您运行了代码,这样您就可以看到输出了。(还请注意,输出是
还要注意,您提供的方法只会反转单词,而不是文本。@Ron.Rothman提供了一个链接,详细说明了如何反转整个字符串。
字符串上的各种反转:
1 2 3 4 5 6 7 8 9 | 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 |
对于将来的引用,当一个对象有一个像
1 2 3 4 5 | >>> s = 'this is a string' >>> s[::-1] 'gnirts a si siht' >>> ''.join(reversed(s)) 'gnirts a si siht' |
列表反转可以使用多种方法完成。
如前所述,两个非常突出,一个具有
1 2 3 4 5 6 7 8 | In [15]: len(l) Out[15]: 1000 In [16]: %timeit -n1 l.reverse() 1 loops, best of 3: 7.87 μs per loop In [17]: %timeit -n1 l[::-1] 1 loops, best of 3: 10 μs per loop |
对于1000个整数列表,
根据评论和其他答案:
1 2 | str_a = 'this is a string' rev_word = ' '.join(reversed(str_a.split())) |
方法链接毕竟在Python中有效…
for循环将字符串从结束(最后一个字母)迭代到开始(第一个字母)
1 2 3 4 5 6 | >>> s = 'You can try this too :]' >>> rev = '' >>> for i in range(len(s) - 1, -1, -1): ... rev += s[i] >>> rev ']: oot siht yrt nac uoY' |