Python中的数组,你了解多少?

liftword5个月前 (12-06)技术文章40

数组是存储在连续内存块中的相同数据类型的元素的集合。Python 中的数组可以使用该模块创建array,该模块提供了多种类型的数组,包括整数数组、浮点数数组和字符数组。

Python 中的数组可以是一维、二维或多维。一维数组是元素的简单列表,而二维数组是列表的列表,其中每个列表代表数组中的一行。多维数组是具有两个以上维度的数组,可以将其视为矩阵的集合。

1.Python 中数组如何工作?

Python 中的数组与列表类似,但在处理大量数据时效率更高。数组通常用于存储数字数据,例如整数或浮点数,以及字符串、字符和其他数据类型。

Python 中的数组是使用该模块实现的array,该模块提供了创建和操作数组的函数。该 array模块提供了几种不同类型的数组,包括:

  1. b: 签名字符
  2. B: 无符号字符
  3. u: Unicode 字符
  4. h: 签名短
  5. H: 无符号短
  6. i: 有符号整数
  7. I:无符号整数
  8. l: 长签名
  9. L:无符号长
  10. f: 浮点
  11. d:双精度浮点

2. 在Python中创建数组

要在Python中创建数组,首先需要导入array模块。导入模块后,可以使用该array()函数创建数组。创建数组的语法如下:

import array

my_array = array.array('typecode', [elements])

在此语法中,typecode是一个字符串,指定数组的数据类型。例如,如果要创建一个整数数组,则可以使用 typecodei参数elements是要存储在数组中的元素的列表。

下面是创建整数数组的示例:

import array

my_array = array.array('i', [1, 2, 3, 4, 5])

4. 访问数组的元素

要在 Python 中访问数组的元素,可以使用要访问的元素的索引。数组中第一个元素的索引为 0,最后一个元素的索引为数组长度减一。

以下是访问数组中元素的示例:

import array

my_array = array.array('i', [1, 2, 3, 4, 5])

print(my_array[0])

# Output: 1

此代码将打印数组的第一个元素,即 1。

4. 修改数组的元素

可以通过使用索引为元素分配新值来修改 Python 中数组的元素。下面是修改数组中元素的示例:

import array

my_array = array.array('i', [1, 2, 3, 4, 5])

my_array[0] = 10

print(my_array)

# Output: array('i', [10, 2, 3, 4, 5])

此代码会将数组的第一个元素修改为 10,然后打印整个数组。

5. 向数组添加元素

可以使用 方法将元素追加到 Python 中的数组中append()。该append()方法将一个元素添加到数组末尾。以下是向数组追加元素的示例:

import array

my_array = array.array('i', [1, 2, 3, 4, 5])

my_array.append(6)

print(my_array)

# Output: array('i', [1, 2, 3, 4, 5, 6])

此代码会将值 6 附加到数组末尾,然后打印整个数组。

6. 从数组中删除元素

可以使用该方法从 Python 中的数组中删除元素pop()。该pop()方法删除指定索引处的元素并返回其值。如果不指定索引,该pop()方法将删除数组中的最后一个元素。pop()以下是使用该方法从数组中删除元素的示例:

import array

my_array = array.array('i', [1, 2, 3, 4, 5])

my_array.pop(0)

print(my_array)

# Output: array('i', [2, 3, 4, 5])

此代码将删除数组的第一个元素,然后打印整个数组。

7. 迭代数组

可以使用循环在 Python 中迭代数组for。以下是迭代数组的示例:

import array

my_array = array.array('i', [1, 2, 3, 4, 5])

for element in my_array:
    print(element)

此代码将在单独的行上打印数组的每个元素。

输出:

1
2
3
4
5

8. 数组切片

可以使用切片运算符在 Python 中对数组进行切片:。切片运算符返回一个新数组,其中包含原始数组的子集。以下是对数组进行切片的示例:

import array

my_array = array.array('i', [1, 2, 3, 4, 5])

new_array = my_array[1:3]

print(new_array)

# Output: array('i', [2, 3])

此代码将创建一个新数组,其中包含原始数组的第二个和第三个元素,然后打印新数组。

要更详细地了解切片,请参阅此链接Slicing in Python。