我正在尝试一个句子并拆分该句子,将其翻转,并将其打印到屏幕上。
我无法理解.reverse()
的工作原理?
当我做类似的事情时:
test = ['This','is','a','test']
new_test = test.reverse()
print(new_test)
当我跑步时,我得到None
,这是为什么?如何让.reverse()
工作?
这是我的最终代码:
sentence = input("What is your sentence? ")
split_sentence = sentence.split().reverse()
for word in sentence:
print(word,end='')
答案 0 :(得分:6)
reverse()
在适当的位置运行,并且不会返回新数组。如果要使用副本,则需要执行以下操作:
arr = [1, 2, 3, 4, 5]
copy = arr.copy() # omit this if you don't want a new list
copy.reverse()
# copy now contains [5, 4, 3, 2, 1]
# arr still contains [1, 2, 3, 4, 5]
答案 1 :(得分:5)
reverse()
就地撤销列表,然后返回None
。只需打印原始列表:
test = ['This','is','a','test']
test.reverse() # In-place!
print(test)
答案 2 :(得分:4)
您可以使用slicing
test = ['This','is','a','test']
>>> print(test[::-1])
['test', 'a', 'is', 'This']
答案 3 :(得分:3)
reverse()
函数执行了列表的反转以及您在None
列表中获得new_test
的原因。您可以使用以下代码段来反转列表。
from copy import deepcopy
test = ['This','is','a','test']
new_test = deepcopy(test)
print(new_test)
new_test.reverse()
print(new_test)
<强>输出:强>
['This', 'is', 'a', 'test']
['test', 'a', 'is', 'This']
答案 4 :(得分:0)
list1 = [1,2,3,4,5,6]
print([ele for ele in reversed(list1)])
输出:
[6,5,4,3,2,1]