myfreax

Python反转列表

在Python中使用列表时,有时可能需要反转列表的元素,即反向排序。反转列表意味着列表的第一个元素变为最后一个

2 min read
By myfreax
Python反转列表

在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()函数。如果您有任何问题或反馈,请随时发表评论。

Related Articles