Python - 反转数组


在本章中,我们将探索以与索引相反的顺序重新排列给定数组的不同方法。在Python中,数组不是内置数据类型之一。然而,Python的标准库有数组模块。数组类帮助我们创建字符串、整数或浮点类型的同质集合。

用于创建数组的语法是-

import array
obj = array.array(typecode[, initializer])

让我们首先创建一个由一些int类型的对象组成的数组 -

import array as arr
a = arr.array('i', [10,5,15,4,6,20,9])

数组类没有任何内置方法来反转数组。因此,我们必须使用另一个数组。空数组“b”声明如下 -

b = arr.array('i')

接下来,我们以相反的顺序遍历数组“a”中的数字,并将每个元素附加到“b”数组中 -

for i in range(len(a)-1, -1, -1):
b.append(a[i])

数组“b”现在以相反的顺序保存原始数组中的数字。

实施例1

以下是在 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, b)

它将产生以下输出-

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

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

我们必须首先使用数组类的 tolist() 方法将数组的内容传输到列表 -

a = arr.array('i', [10,5,15,4,6,20,9])
b = a.tolist()

我们现在可以调用reverse()方法 -

b.reverse()

如果我们现在将列表转换回数组,我们会得到顺序相反的数组,

a = arr.array('i')
a.fromlist(b)

实施例2

这是完整的代码-

from array import array as arr
a = arr.array('i', [10,5,15,4,6,20,9])
b = a.tolist()
b.reverse()
a = arr.array('i')
a.fromlist(b)
print (a)

它将产生以下输出-

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