Python 简明教程

Python - Arrays

Arrays in Python

与 C++ 或 Java 等其他编程语言不同,Python 没有对数组的内置支持。但是,Python 具有多种数据类型,如列表和元组(尤其是列表),它们通常用作数组,但存储在这些类型序列中的项不必属于同一种类型。

此外,我们可以使用 array 模块创建和操作数组。在继续之前,让我们了解一下数组的一般情况。

What are arrays?

array 是一个容器,它可以容纳固定数量的项,并且这些项应该属于同一种类型。存储在数组中的每一项都称为 element ,它们可以是任意类型,包括整数、浮点数、字符串等。

这些元素存储在连续的内存位置。数组中每个元素的位置都有一个从 0 开始的数字 index 。这些索引用于标识和访问元素。

Array Representation

数组表示为多个容器的集合,其中每个容器存储一个元素。这些容器的索引从“0”到“n-1”,其中 n 是特定数组的大小。

在不同的语言中,可以用各种方式声明数组。下面是一个插图:

python array representation

根据上述插图,以下是要考虑的重要要点:

  1. Index starts with 0.

  2. 数组长度为 10,这意味着它可以存储 10 个元素。

  3. 可以通过索引访问每个元素。例如,我们可以按索引 6 获取元素 9。

Creating Array in Python

要在 Python 中创建数组,请导入 array 模块并使用其 array() 函数。我们可以使用此函数创建三种基本类型的数组,即整数、浮点数和 Unicode 字符。

array() 函数接受 typecode 和 initializer 作为参数值,并返回 array 类的对象。

Syntax

在 Python 中创建数组的语法是 -

# importing
import array as array_name

# creating array
obj = array_name.array(typecode[, initializer])

其中,

  1. typecode - typecode 字符用于 specify 数组中元素的类型。

  2. initializer - 它是初始化数组的可选值。它必须是列表、字节状对象或相应类型的可迭代元素。

Example

以下示例演示如何使用 array 模块在 Python 中创建数组。

import array as arr

# creating an array with integer type
a = arr.array('i', [1, 2, 3])
print (type(a), a)

# creating an array with char type
a = arr.array('u', 'BAT')
print (type(a), a)

# creating an array with float type
a = arr.array('d', [1.1, 2.2, 3.3])
print (type(a), a)

它将生成以下 output

<class 'array.array'> array('i', [1, 2, 3])
<class 'array.array'> array('u', 'BAT')
<class 'array.array'> array('d', [1.1, 2.2, 3.3])

Python 数组类型由单个字符类型代码参数决定。类型代码和数组的目标数据类型如下所列: -

Basic Operations on Python Arrays

以下是数组支持的基本操作 -

  1. Traverse - 一次打印所有数组元素。

  2. Insertion - 在给定的索引处添加一个元素。

  3. Deletion - 删除给定索引处的元素。

  4. Search - 使用给定索引或按值搜索元素。

  5. Update - 更新给定索引处的元素。

Accessing Array Element

我们可以使用元素的索引访问数组的每个元素。

Example

以下代码演示如何访问数组的元素。

from array import *
array1 = array('i', [10,20,30,40,50])
print (array1[0])
print (array1[2])

当我们编译和执行以上程序时,它会产生以下结果 -

10
30

Insertion Operation

在插入操作中,我们将一个或多个数据元素插入到数组中。基于需求,可以在数组的开头、结尾或任何给定索引处添加新元素。

Example

在此,我们使用 Python 内置的 insert() 方法在数组中间添加了一个数据元素。

from array import *
array1 = array('i', [10,20,30,40,50])
array1.insert(1,60)
for x in array1:
 print(x)

当我们编译并执行上述程序时,它会产生以下结果,显示元素插入到索引位置 1。

10
60
20
30
40
50

Deletion Operation

删除指的是从数组中移除现有元素并重新组织数组的所有元素。

在此,我们使用 Python 内置 remove() 方法,从数组中间移除一个数据元素。

from array import *
array1 = array('i', [10,20,30,40,50])
array1.remove(40)
for x in array1:
   print(x)

当我们编译并执行上述程序时,它会产生以下结果,显示该元素已从数组中移除。

10
20
30
50

= 搜索操作[id="_search_operation"] === 搜索操作 您可以在数组上执行搜索操作,以根据元素值或索引查找数组元素。 = 示例[id="_example"]====示例 在此,我们使用 Python 内置的 index() 方法搜索数据元素:

from array import *
array1 = array('i', [10,20,30,40,50])
print (array1.index(40))

当我们编译并执行上述程序时,它将显示所搜索元素的索引。如果该值未出现在数组中,它将返回一个错误。

3

= 更新操作[id="_update_operation"] === 更新操作 更新操作指的是在给定索引下更新数组中的现有元素。在此,我们只需为我们想要更新的目标索引重新分配一个新值。 = 示例[id="_example"]====示例 在此示例中,我们更新索引 2 处的数组元素的值。

from array import *
array1 = array('i', [10,20,30,40,50])
array1[2] = 80
for x in array1:
   print(x)

在执行上述程序后,它会产生以下结果,显示索引位置 2 处的该新值。

10
20
80
40
50