Python反转列表

时间:2020-02-23 14:43:15  来源:igfitidea点击:

在Python中可以通过三种方式来反转列表。

  • 列表reverse()函数
  • 使用切片
  • 内置的reversed()函数

让我们通过简单的示例研究所有这些方法来反转列表。

使用reverse()函数的Python反向列表

skills = ['Java', 'Python', 'Android']

print(skills)

# using list reverse() function to reverse the list
skills.reverse()

print(skills)

输出:

['Java', 'Python', 'Android']
['Android', 'Python', 'Java']

这是一个非常快速的函数,可以将列表元素反转到位。
因此,对原始列表进行了修改,如果对其进行了排序,那么它也将消失。
有时,我们不希望这样,而是想要按相反的顺序创建新列表。

使用切片反转并创建新列表

我们可以使用切片以相反的顺序创建一个新列表。
让我们看一个例子。

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

输出:

[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]

此处原始列表未修改。
这是一种简单的单行方法来反转列表。
但是,如果您不了解python中的切片技术,则语法不容易理解。

Python使用reversed()反转列表

我们可以使用reversed()内置函数创建一个反向迭代器,然后将其与list()函数一起使用以相反的顺序创建一个包含元素的新列表。

vowels = ['a', 'e', 'i', 'o', 'u']
vowels_rev = list(reversed(vowels))
print(vowels)
print(vowels_rev)

输出:

['a', 'e', 'i', 'o', 'u']
['u', 'o', 'i', 'e', 'a']