Python 数组 – 定义、创建

⚡ 智能摘要

Python 数组是由具有相同数据类型的元素组成的集合,通过内置的数组模块进行管理。以下示例涵盖了创建数组、访问、插入、修改、删除、搜索、反转、计数以及使用类型代码遍历数组元素等操作。

  • 📦 定义: A Python 数组在一个变量中存储多个相同数据类型的值。
  • ⚙️ 数组模块: 导入内置的数组模块来创建和管理数组。
  • 🔤 类型 Codes: 单个字母代码(例如“i”、“d”或“u”)用于设置元素类型。
  • 🔢 索引和切片: 通过索引访问元素,索引从 0 开始,例如tract 范围与切片。
  • ✏️ 修改 Opera位置: 使用数组方法插入、删除、弹出、反转和计数元素。
  • 性能: 对于相同类型的数值数据,数组比列表占用内存更少,运行速度更快。

数组中 Python

什么是 Python 大批?

A Python 排列 是具有相同数据类型元素的常见数据结构集合。它用于存储数据集合。在 Python 编程中,数组由“array”模块处理。如果使用 array 模块创建数组,则数组的元素必须属于相同的数字类型。

何时使用数组 Python?

Python 当你需要使用许多相同类型的变量时,可以使用数组。它还可用于存储数据集合。当必须动态处理数据时,数组尤其有用。 Python 数组比列表快得多,因为它占用的内存更少。

创建数组的语法 Python

您可以在中声明一个数组 Python 同时使用以下语法对其进行初始化。

arrayName = array.array(type code for data type, [array,items])

下图解释了该语法。

创建数组的语法 Python
数组语法
  1. 识别码:像平常一样指定变量的名称
  2. 模块: Python 有一个特殊的模块用于创建数组 Python,称为“数组”——你必须在使用它之前导入它
  3. 付款方式:array 模块有一个初始化数组的方法。它接受两个参数:类型代码和元素。
  4. 类型 Code:使用可用的类型代码指定数据类型(见下表)
  5. 元素:在方括号内指定数组元素,例如 [130,450,103]

如何在 Python?

In Python,我们使用以下语法来创建数组:

Class array.array(type code[,initializer])

例如

import array as myarray
abc = myarray.array('d', [2.5, 4.9, 6.7])

上述代码创建一个具有整数类型的数组。字母“d”是类型代码。

下表显示类型代码:

类型代码 Python 类型 C型 最小大小(字节)
'u' Unicode字符 UNICODE 代码 2
'b' 诠释 签名字符 1
'B' 诠释 无符号字符 1
'H' 诠释 短签 2
'我' 诠释 长签 4
'L' 诠释 无符号长 4
'q' 诠释 签了长长 8
'Q' 诠释 无符号长长 8
'H' 诠释 无符号短 2
'F' Float Float 4
'd' Float Double 8
'一世' 诠释 有符号整数 2
'一世' 诠释 无符号整数 2

如何访问数组元素?

您可以使用索引来访问任何数组项。

语法是

 arrayName[indexNum]

例如,

import array
balance = array.array('i', [300,200,100])
print(balance[1])

输出:

200

下图说明了通过索引访问数组项的基本概念。

如何访问数组元素
访问数组项

在这里,我们使用索引(即 1)访问了数组的第二个值。其输出将是 200,这基本上是平衡数组的第二个值。

数组索引从 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

您还可以使用“:”运算符访问元素,如下所示 Python 数组示例。

计费示例:

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])

此操作称为 切片 操作。

如何插入元素?

Python 数组插入操作可让您将一个或多个项目插入数组的开头、结尾或任何给定索引处。此方法需要两个参数 index 和 value。

语法是

 arrayName.insert(index, value)

计费示例:

让我们在数组的第二项后面添加一个新值。目前,我们的余额数组有三个项:300、200 和 100。考虑第二个数组项,其值为 200,索引为 1。

为了在索引 1 之后插入新值,您需要在插入方法中引用索引 2,如下所示 Python 数组示例:

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])

我们还可以在数组上执行连接操作 Python.

计费示例:

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])

以上 Python 数组示例代码连接两个名为“first”和“second”的变量。结果存储在名为“number”的变量中。

最后一行代码用于打印两个数组。

如何从数组中弹出元素 Python?

In Python,开发人员可以使用 pop() 方法从 Python 数组。下面是 pop() 方法的示例 Python.

Python 数组弹出示例:

import array as myarr
first = myarr.array('b', [20, 25, 30])
first.pop(2)
print(first)

输出:

array('b', [20, 25])

您还可以使用'del'语句 Python.

例如:

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”的值。此方法返回搜索值的索引。

import array as myarray
number = myarray.array('b', [2, 3, 4, 5, 6])
print(number.index(3))

输出:

1

此操作将返回所提及元素第一次出现的索引。

如何 Reverse 数组 Python

此操作将反转整个数组。

语法: 数组.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)

输出:

200
300
100

常见问题

A Python 数组只能存储单一数据类型的元素,并使用数组模块;而列表可以存储混合数据类型。数组占用内存更少,处理大型数值数据时速度更快。

不。使用数组模块创建的数组必须包含同一类型的元素,类型由类型代码决定。要存储混合数据类型,请使用…… Python 改为列出清单。

使用内置的 len() 函数,例如 len(myarray),它会返回数组中存储的元素数量。该函数也适用于 Python 列表和元组。

调用数组的 `tolist()` 方法,或者将数组传递给内置的 `list()` 函数。两者都会返回一个新的数组。 Python 包含相同元素的列表,保持原数组不变。

数组模块没有 sort() 方法。可以使用 sorted(myarray) 获取排序后的列表,或者调用 tolist() 方法对其进行排序,然后使用 array(typecode, sorted_values) 重建数组。

数组模块随附 Python 对于简单的同类型数值存储,NumPy 是一个独立的库。它提供多维数组、数学运算以及更优的性能,适用于科学计算和数据密集型工作。

AI助手可以生成数组代码,选择正确的类型代码,并解释类型不匹配等错误。它们还会建议哪种数组、列表或NumPy数组最适合您的任务。

是的。GitHub Copilot 可以根据注释自动补全数组创建、插入和遍历代码,而智能工具可以重构整个脚本——将列表转换为数组或 NumPy——然后自动运行测试。

总结一下这篇文章: