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()方法来反转数组中的数字序列。列表是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])