列表元素逆序排列
list.reverse()
list.reverse() 方法,会直接在原来的列表里面将元素进行逆序排列,不需要创建新的副本用于存储结果,不需要重新申请空间来保存最后的结果,但是修改了原来的数据。

list[::-1]
Python 的列表有一个特性叫做切片,mylist[:] 会返回 mylist 的副本,当start 、end 和 step 为负时,表示从反方向遍历,所以 mylist[::-1] 就能达到逆序的目的。相比于第一种方式,这种方式会另外创建副本来保存列表的所有元素,所以需要更多的内存空间。

reversed()
reversed 方法会将列表逆序的结果存储到迭代器里面,这种方式不会改变原来的列表,也不会创建原来列表的完整副本,只会多出迭代器对象所占的空间,相对来说也比较高效。也就是说其返回值是一个迭代器,你可以将其理解为一个指针,指向原来的列表。

方法一 利用list的分片操作

x = [1, 2, 3, 4, 5]
print(x[::-1])

方法二 list.reverse()。改变原list,无返回

x = [1, 2, 3, 4, 5]
x.reverse()
print(x)

方法三 reversed(list)。不改变原list,有返回,但返回类型不是list,而是 迭代器

x = [1, 2, 3, 4, 5]
print(list(reversed(x)))