在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中的切片技术。