Python中的数组,你了解多少?
数组是存储在连续内存块中的相同数据类型的元素的集合。Python 中的数组可以使用该模块创建array,该模块提供了多种类型的数组,包括整数数组、浮点数数组和字符数组。
Python 中的数组可以是一维、二维或多维。一维数组是元素的简单列表,而二维数组是列表的列表,其中每个列表代表数组中的一行。多维数组是具有两个以上维度的数组,可以将其视为矩阵的集合。
1.Python 中数组如何工作?
Python 中的数组与列表类似,但在处理大量数据时效率更高。数组通常用于存储数字数据,例如整数或浮点数,以及字符串、字符和其他数据类型。
Python 中的数组是使用该模块实现的array,该模块提供了创建和操作数组的函数。该 array模块提供了几种不同类型的数组,包括:
- b: 签名字符
- B: 无符号字符
- u: Unicode 字符
- h: 签名短
- H: 无符号短
- i: 有符号整数
- I:无符号整数
- l: 长签名
- L:无符号长
- f: 浮点
- 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。