Python 数组怎么用?数组创建和操作详解

文章导读
Previous Quiz Next Python 中的数组 与其他编程语言如 C++ 或 Java 不同,Python 没有内置的数组支持。然而,Python 有几种数据类型如 list 和 tuple(特别是 list),它们经常被用作数组,但存储在这些序列类型中的项目
📋 目录
  1. A Python 中的数组
  2. B 什么是数组?
  3. C 数组表示
  4. D 在 Python 中创建数组
  5. E Python 数组的基本操作
  6. F 访问数组元素
  7. G 插入操作
  8. H 删除操作
  9. I 搜索操作
  10. J 更新操作
A A

Python - 数组



Previous
Quiz
Next

Python 中的数组

与其他编程语言如 C++ 或 Java 不同,Python 没有内置的数组支持。然而,Python 有几种数据类型如 list 和 tuple(特别是 list),它们经常被用作数组,但存储在这些序列类型中的项目不必是相同类型。

此外,我们可以使用 array 模块来创建和操作数组。在继续之前,让我们先了解一下数组的基本概念。

什么是数组?

数组 是一种容器,它可以容纳固定数量的项目,这些项目必须是相同类型。数组中存储的每个项目称为 元素,它们可以是任何类型,包括整数、浮点数、字符串等。

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

数组表示

数组被表示为多个容器的集合,每个容器存储一个元素。这些容器从 '0' 到 'n-1' 进行索引,其中 n 是该数组的大小。

数组在不同语言中可以用各种方式声明。以下是一个示意图 −

Python Array Representation

根据上图,以下是需要注意的重要点 −

  • 索引从 0 开始。

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

  • 可以通过索引访问每个元素。例如,可以通过索引 6 获取元素 9。

在 Python 中创建数组

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

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

语法

在 Python 中创建数组的语法如下 −

# 导入模块 
import array as array_name

# 创建数组
obj = array_name.array(typecode[, initializer])

其中,

  • typecode − 用于指定数组中元素类型的 typecode 字符。

  • initializer − 可选值,用于初始化数组。它必须是 list、bytes-like object 或适当类型的可迭代元素。

示例

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

import array as arr

# 创建整数类型的数组
a = arr.array('i', [1, 2, 3])
print (type(a), a)

# 创建字符类型的数组
a = arr.array('u', 'BAT')
print (type(a), a)

# 创建浮点类型的数组
a = arr.array('d', [1.1, 2.2, 3.3])
print (type(a), a)

它将产生以下 输出

<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 array 类型由单个字符 Typecode 参数决定。以下列出了 type codes 和数组的预期数据类型 −

typecode Python 数据类型 字节大小
'b' signed integer 1
'B' unsigned integer 1
'u' Unicode character 2
'h' signed integer 2
'H' unsigned integer 2
'i' signed integer 2
'I' unsigned integer 2
'l' signed integer 4
'L' unsigned integer 4
'q' signed integer 8
'Q' unsigned integer 8
'f' floating point 4
'd' floating point 8

Python 数组的基本操作

数组支持以下基本操作 −

  • 遍历 − 逐一打印所有数组元素。

  • 插入 − 在给定索引处添加元素。

  • 删除 − 删除给定索引处的元素。

  • 搜索 − 使用给定索引或值搜索元素。

  • 更新 − 更新给定索引处的元素。

访问数组元素

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

示例

下面的代码展示了如何访问数组的元素。

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

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

10
30

插入操作

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

示例

在这里,我们使用 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

删除操作

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

在这里,我们使用 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

搜索操作

您可以对数组执行搜索操作,根据其值或索引查找数组元素。

示例

在这里,我们使用 Python 内置的 index() 方法搜索一个数据元素 −

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

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

3

更新操作

更新操作指的是在给定索引处更新数组中的现有元素。在这里,我们只需将新值重新赋值给要更新的目标索引。

示例

在这个示例中,我们更新索引 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