7

如何使用 Python 反转列表或数组

 2 years ago
source link: https://developer.51cto.com/article/707001.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
如何使用 Python 反转列表或数组-51CTO.COM
如何使用 Python 反转列表或数组
作者:聆听世界的鱼 2022-04-20 11:14:55
反转数组是你可能用于游戏或显示排序列表时的常用技术。Python 有几种方法可以做到这一点。

12ff63d7566bc6f7ad9836c2e2d0459108d5c6.jpg

反转列表或数组是一项常见的编程任务。在许多情况下,你可能需要以相反的顺序呈现数据,例如在对列表进行排序时。

如何使用 Python 反转列表或数组?你将在本文中了解不同的方法。

使用 for 循环创建副本

虽然Python 的 for 循环更冗长,但在某些情况下它可能很方便。例如,在反向操作的某些点执行复杂逻辑时,它提供了更大的灵活性。

相关:如何在Python中使用For循环  https://www.linuxmi.com/python-for-loops.html

当使用缩进的 for循环时,常用的方法是以相反的顺序遍历原始列表。从最后一个元素开始,每次迭代都将前一个元素附加到一个新列表中。

以 1 到 9 之间的整数列表为例,以下是使用缩进的for循环反转数组的方法:

languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 创建一个空列表来保存反向数组:
reversed_list = []  
# 从原始数组的长度中减去一,以从最后一个索引开始:
reducer = len(languages)-1  
# 在for循环中反转列表:
for i in languages:
 reversed_list.append(languages[reducer]) # 将结果追加到空列表
 reducer -=1 # 使用reducer在每次迭代时将索引减少1
print(reversed_list)
[9, 8, 7, 6, 5, 4, 3, 2, 1]

12d94310404d22cd42581158ce2509329ea7b7.jpg

使用列表推导式反转列表或数组

列表推导产生更短的代码。并且不需要临时变量,因为列表理解作用于适当的列表。

要执行前面的操作,使用列表推导:

reducer = len(languages)
# 在列表推导式中,使用for循环在范围函数中递减索引  
Reversed_list = [languages[reducer] for reducer in range(reducer -1,-1,-1)]
print(Reversed_list)
[9, 8, 7, 6, 5, 4, 3, 2, 1]

b36f0fa94051b3849ad909ba1c582814b058f6.jpg

使用切片运算符

列表切片运算符非常简单,尽管它有一些限制。例如,你可能无法像使用for循环时那样自定义输出。

以下是使用切片运算符反转列表的方法:

languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rev_list = languages[::-1]
print(rev_list)
[9, 8, 7, 6, 5, 4, 3, 2, 1]

[ ::-1]语法是一个巧妙的快捷方式,它会产生一个反向列表。它实际上意味着“复制列表的每个元素,从末尾开始倒数”——即“反转它”!

94b20bd0137a9d3d7db547227e158ce43a20f2.jpg

使用数组的反转方法

这是另一种有效的方法:它修改原始数组。这可能是一个缺点,因为你不能为其他操作保留先前的列表。

以下是使用 reverse 方法反转数组的方法:

languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
languages.reverse()
print(languages)
[9, 8, 7, 6, 5, 4, 3, 2, 1]

089119f40353ff47530211be209f6bea2bc278.jpg

使用反转reversed函数

reversed 函数遍历列表、数组或任何其他序列并返回其反向副本。但是,你需要将反向输出显式声明为列表。

这是它的工作原理:

languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(reversed(languages)))
[9, 8, 7, 6, 5, 4, 3, 2, 1]

875a466025f3d646f677362082335e9e6a29db.jpg

使用数组获得创意

数组或列表是存储数据的常用方法。根据你的目标,你可能希望以相反的顺序将数据呈现给客户端。一种方法是在渲染之前反转数组或列表。如你所见,有几种方法可以在 Python 中反转列表。选择最适合你并与你针对特定问题的逻辑保持一致的方法。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK