Python - 反转数组



反转数组是指以相反的顺序重新排列数组元素的操作。在 Python 中,反转数组的方法和途径有很多,包括 `reverse()` 和 `reversed()` 方法。

在 Python 中,数组 不是内置数据类型之一。但是,Python 的标准库具有 `array` 模块,该模块帮助我们创建字符串、整数或浮点数类型的同质集合。

Reverse Array Operation Python

在 Python 中反转数组的方法

要反转数组,可以使用以下方法:

  • 使用切片操作
  • 使用 `reverse()` 方法
  • 使用 `reversed()` 方法
  • 使用 for 循环

使用切片操作

切片操作是从指定索引内提取数组一部分的过程。在 Python 中,如果我们使用 [::-1] 形式的切片操作,则它将通过反转原始数组来显示一个新数组。

在这个过程中,解释器从末尾开始,向后递减 1,直到到达数组的开头。结果,我们得到了原始数组的反向副本。

示例

下面的示例演示了如何在 Python 中使用切片操作反转数组。

import array as arr

# creating array
numericArray = arr.array('i', [88, 99, 77, 55, 66])

print("Original array:", numericArray)
revArray = numericArray[::-1]
print("Reversed array:",revArray)

运行代码后,将产生以下输出:

Original array: array('i', [88, 99, 77, 55, 66])
Reversed array: array('i', [66, 55, 77, 99, 88])

使用 `reverse()` 方法反转数组

我们还可以使用列表类的`reverse()` 方法反转数组中的数字序列。这里,列表是 Python 中的内置类型。

由于 `reverse()` 是列表类的方法,我们不能直接用它来反转通过 Python `array` 模块创建的数组。我们必须首先使用 `array` 类的 `tolist()` 方法将数组的内容转换为列表,然后调用 `reverse()` 方法,最后,当我们将列表转换回数组时,我们得到一个顺序反转的数组。

示例

这里,我们将看到在 Python 中使用 `reverse()` 方法反转数组。

import array as arr

# creating an array
numericArray = arr.array('i', [10,5,15,4,6,20,9])
print("Array before reversing:", numericArray)

# converting the array into list
newArray = numericArray.tolist()

# reversing the list
newArray.reverse()

# creating a new array from reversed list
revArray = arr.array('i', newArray)
print ("Array after reversing:",revArray)

这将产生以下输出

Array before reversing: array('i', [10, 5, 15, 4, 6, 20, 9])
Array after reversing: array('i', [9, 20, 6, 4, 15, 5, 10])

使用 `reversed()` 方法反转数组

`reversed()` 方法是反转数组元素的另一种方法。它接受一个数组作为参数值,并返回一个迭代器对象,该对象以反向顺序显示数组元素。

示例

在这个例子中,我们使用 `reversed()` 方法在 Python 中反转数组。

import array as arr

# creating an array
numericArray = arr.array('i', [12, 10, 14, 16, 20, 18])
print("Array before reversing:", numericArray)

# reversing the array
newArray = list(reversed(numericArray))

# creating a new array from reversed list
revArray = arr.array('i', newArray)
print ("Array after reversing:",revArray)

执行上述代码后,将显示以下输出:

Array before reversing: array('i', [12, 10, 14, 16, 20, 18])
Array after reversing: array('i', [18, 20, 16, 14, 10, 12])

使用 for 循环

要使用 for 循环 反转数组,我们首先反向遍历原始数组的元素,然后将每个元素追加到一个新数组。

示例

以下示例显示了如何使用 for 循环在 Python 中反转数组。

import array as arr
a = arr.array('i', [10,5,15,4,6,20,9])
b = arr.array('i')
for i in range(len(a)-1, -1, -1):
   b.append(a[i])
print(a)
print(b)

这将产生以下输出

array('i', [10, 5, 15, 4, 6, 20, 9])
array('i', [9, 20, 6, 4, 15, 5, 10])
广告