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

上一篇 / 下一篇  2022-04-20 15:20:31

  反转列表或数组是一项常见的编程任务。在许多情况下,你可能需要以相反的顺序呈现数据,例如在对列表进行排序时。
  如何使用 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]

  使用列表推导式反转列表或数组
  列表推导产生更短的代码。并且不需要临时变量,因为列表理解作用于适当的列表。
  要执行前面的操作,使用列表推导:
  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]

  使用切片运算符
  列表切片运算符非常简单,尽管它有一些限制。例如,你可能无法像使用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]语法是一个巧妙的快捷方式,它会产生一个反向列表。它实际上意味着“复制列表的每个元素,从末尾开始倒数”——即“反转它”!
  使用数组的反转方法
  这是另一种有效的方法:它修改原始数组。这可能是一个缺点,因为你不能为其他操作保留先前的列表。
  以下是使用 reverse 方法反转数组的方法:
  languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
  languages.reverse()
  print(languages)

  输出:  
  [9, 8, 7, 6, 5, 4, 3, 2, 1]
 
  使用反转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]

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

TAG: 软件开发 Python

 

评分:0

我来说两句

Open Toolbar