在Python中使用列表时,有时可能需要反转列表的元素,即反向排序。反转列表意味着列表的第一个元素变为最后一个,第二个元素变为倒数第二个,最后一个元素变为第一个,依此类推。
在本教程中,我们将列三种方法反转python列表元素。包括reverse方法,该方法会修改原始列表,相对较慢。reversed函数它返回给定可迭代对象的反向迭代器,不会修改原始列表相对较快。Slicing切片[::-1]
反转列表。在Python中,根据您要执行的操作,有几种不同的方法可以用来反转列表。
reverse函数
reverse()
是List列表数据类型方法,可就地反转列表的元素。 此方法修改原始列表,而不是创建新列表。reverse()
方法的语法如下:
list.reverse()
reverse()
不接受任何参数。以下是示例:
capitals = ['Oslo', 'Skopje', 'Riga', 'Madrid']
capitals.reverse()
print('Reversed list:', capitals)
Reversed list: ['Madrid', 'Riga', 'Skopje', 'Oslo']
reversed函数
reversed()
是Python内置函数,它返回给定可迭代对象的反向迭代器。次方法不会不会修改原始列表。如果您只想以相反的顺序遍历列表中的元素,则可以使用reversed()
函数,它比reverse方法要快,因为reverse要修改原始列表。reversed()
函数的语法如下:
reversed(seq)
其中seq
是您要反转的列表。下面是一个示例,该示例使用reversed()
以相反的顺序遍历list的元素:
numbers = [1, 2, 3, 4]
for i in reversed(numbers) :
print(i)
4
3
2
1
如果要将已反转的迭代器转换为列表,请使用list()
构造函数:
numbers = [1, 2, 3, 4]
print(list(reversed(numbers)))
[4, 3, 2, 1]
Slicing反转列表
Slice切片是Python的内置函数,可让您提取顺序数据类型的部分。 尽管不是十分Pythonic,但您可以使用[::-1]
表达式反转列表:
numbers = [1, 2, 3, 4]
print(numbers[::-1])
Slice切片列表的结果是一个包含提取元素的新列表。 原始列表未修改。
[4, 3, 2, 1]
结论
如你需要修改原始列表来反转Python列表,请使用reverse()
方法。 如果只需要创建一个反向的迭代器,请使用reversed()
函数。如果您有任何问题或反馈,请随时发表评论。