Python数组是一种常见的数据结构类型,其中所有元素都必须具有相同的数据类型。 在Python编程中,数组可以由“array”模块处理。 如果使用array模块创建数组,则数组的元素必须为相同的数字类型。
当需要使用许多相同类型的变量时,可以使用数组。 它也可以用来存储数据集合。 当您必须动态处理数据时,数组特别有用。 数组使用的内存更少,因此比列表快得多。
您可以使用以下语法在Python中声明数组,同时对其进行初始化。
arrayName = array.array(type, [array,items])
下图说明了语法。
在python中,我们使用以下语法创建数组:
Class array.array(type[,initializer])
示例
import array as myarray
abc = myarray.array('d', [2.5, 4.9, 6.7])
上面的代码创建一个具有整数类型的数组。 字母“ d”是类型代码。
下表显示了类型代码:
如何访问数组元素?
您可以使用其索引访问任何数组项。
语法
arrayName[indexNum]
示例
import array
balance = array.array('i', [300,200,100])
print(balance[1])
输出
200
下图说明了按数组索引访问数组项的基本概念。
访问数组项
在这里,我们使用其索引1来访问数组的第二个值。其输出将为200,这基本上是balance数组的第二个值。
数组索引以0开头。您还可以使用-1索引访问数组的最后一个元素。
示例
import array as myarray
abc = myarray.array('d', [2.5, 4.9, 6.7])
print("Array first element is:",abc[0])
print("Array last element is:",abc[-1])
输出
Array first element is: 2.5
Array last element is: 6.7
您也可以使用’:’运算符来访问元素。
示例
import array as myarray
abc= myarray.array('q',[3,9,6,5,20,13,19,22,30,25])
print(abc[1:4])
print(abc[7:10])
输出
array('q', [9, 6, 5])
array('q', [22, 30, 25])
该操作称为切片操作。
您可以在数组的开始,结尾或任何给定索引处使将一个或多个项目插入到数组中。 此方法需要两个参数index和value。
语法是
arrayName.insert(index, value)
示例1
让我们在数组的第二项之后添加一个新值。 当前,我们的balance数组包含三个项目300、200和100。现在第二个数组元素,其值为200,索引为1。
为了在索引1的元素之后插入新值,您需要在insert方法中引用索引2,如下所示:
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
输出
array('i', [300,200,150,100])
示例2
import array as myarr
a=myarr.array('b',[2,4,6,8,10,12,14,16,18,20])
a.insert(2,56)
print(a)
输出
array('b', [2, 4, 56, 6, 8, 10, 12, 14, 16, 18, 20])
在Python中,数组是可变的。 可以通过以下语法对其进行修改:
Object_name[index]=value;
示例
import array as myarr
a=myarr.array('b',[3,6,4,8,10,12,14,16,18,20])
a[0]=99
print(a)
输出
array('b', [99, 6, 4, 8, 10, 12, 14, 16, 18, 20])
我们还可以对数组执行串联操作。
示例
import array as myarr
first = myarr.array('b', [4, 6, 8])
second = myarr.array('b', [9, 12, 15])
numbers = myarr.array('b')
numbers = first + second
print(numbers)
输出
array('b', [4, 6, 8, 9, 12, 15])
上面的代码连接了两个变量,分别称为“first”和“second”。 结果存储在名为“ number”的变量中。
代码的最后一行用于打印numbers。
可以使用array.pop([a]])语法从数组中弹出元素。
示例:
import array as myarr
first = myarr.array('b', [20, 25, 30])
first.pop(2)
print(first)
输出
array('b', [20, 25])
您还可以使用Python的’del’语句。
示例
import array as myarr
no = myarr.array('b', [10, 4, 5, 5, 7])
del no[4]
print(no)
输出
array('b', [10, 4, 5, 5])
通过此操作,您可以按值从数组中删除一项。 此方法仅接受一个参数值。 运行此方法后,将重新排列数组项,并重新分配索引。
语法是
arrayName.remove(value)
示例
让我们从数组中删除“ 3”的值
import array as myarray
first = myarray.array('b', [2, 3, 4])
first.remove(3)
print(first)
输出
array('b', [2, 4])
此方法仅接受一个参数值。 这是一种非破坏性方法,这意味着它不会影响数组值。
语法是
arrayName.index(value)
示例
让我们在数组中找到“ 3”的index值
import array as myarray
number = myarray.array('b', [2, 3, 4, 5, 6])
print(number.index(3))
输出
1
此操作将反转整个阵列。
语法:
array.reverse()
import array as myarray
number = myarray.array('b', [1,2, 3])
number.reverse()
print(number)
输出
array('b', [3, 2, 1])
将数组转换为Unicode:
Python数组可以转换为Unicode。 为了满足此需求,该数组必须为’u’类型。 否则,您将收到“ ValueError”,意思是值错误。
示例
from array import array
p = array('u',[u'\\u0050',u'\\u0059',u'\\u0054',u'\\u0048',u'\\u004F',u'\\u004E'])
print(p)
q = p.tounicode()
print(q)
输出
array('u', 'PYTHON')
PYTHON
您还可以使用array.count(x)语法对数组中元素的出现进行计数。
示例
import array as myarr
number = myarr.array('b', [2, 3, 5, 4,3,3,3])
print(number.count(3))
输出
4
您可以使用循环遍历python数组,如下所示:
import array
balance = array.array('i', [300,200,100])
for x in balance:
print(x)
输出
300
200
100