📜  在Python中反转列表

📅  最后修改于: 2022-05-13 01:55:11.365000             🧑  作者: Mango

在Python中反转列表

Python为我们提供了多种反转列表的方法。我们将介绍如何在Python中反转列表的许多技术中的一些。
例子:

Input : list = [10, 11, 12, 13, 14, 15]
Output : [15, 14, 13, 12, 11, 10]

Input : list = [4, 5, 6, 7, 8, 9]
Output : [9, 8, 7, 6, 5, 4]

方法一:使用 reversed() 内置函数。
在这种方法中,我们既不会就地反转列表(修改原始列表),也不会创建列表的任何副本。相反,我们得到了一个反向迭代器,我们用它来循环遍历列表。

Python3
# Reversing a list using reversed()
def Reverse(lst):
    return [ele for ele in reversed(lst)]
     
# Driver Code
lst = [10, 11, 12, 13, 14, 15]
print(Reverse(lst))


Python3
# Reversing a list using reverse()
def Reverse(lst):
    lst.reverse()
    return lst
     
lst = [10, 11, 12, 13, 14, 15]
print(Reverse(lst))


Python3
# Reversing a list using slicing technique
def Reverse(lst):
    new_lst = lst[::-1]
    return new_lst
     
lst = [10, 11, 12, 13, 14, 15]
print(Reverse(lst))


输出:

[15, 14, 13, 12, 11, 10]

方法二:使用 reverse() 内置函数。
使用 reverse() 方法,我们可以就地反转列表对象的内容,即,我们不需要创建新列表,而是只需将现有元素以相反的顺序复制到原始列表中。此方法直接修改原始列表。

Python3

# Reversing a list using reverse()
def Reverse(lst):
    lst.reverse()
    return lst
     
lst = [10, 11, 12, 13, 14, 15]
print(Reverse(lst))

输出:

[15, 14, 13, 12, 11, 10]

方法3:使用切片技术。
在这种技术中,会制作列表的副本,并且不会对列表进行就地排序。创建副本需要更多空间来容纳所有现有元素。这会消耗更多的内存。

Python3

# Reversing a list using slicing technique
def Reverse(lst):
    new_lst = lst[::-1]
    return new_lst
     
lst = [10, 11, 12, 13, 14, 15]
print(Reverse(lst))

输出:

[15, 14, 13, 12, 11, 10]

要更好地理解切片技术,请参阅Python中的切片技术。