《Python 数组操作指南:使用示例和方法解析(精选)》由会员分享,可在线阅读,更多相关《Python 数组操作指南:使用示例和方法解析(精选)(16页珍藏版)》请在金锄头文库上搜索。
1、什么是 Python 数组?数组是一种基本数据结构,也是大多数编程语言的重要组成部分。在 Python 中,它们是能够同时存储多个项目的容器。具体来说,它们是元素的有序集合,每个值都具有相同的数据类型。这是关于 Python 数组需要记住的最重要的事情 - 它们只能保存相同类型的多个项目的序列。Python 列表和 Python 数组有什么区别?列表是 Python 中最常见的数据结构之一,也是该语言的核心部分。列表和数组的行为类似。就像数组一样,列表是元素的有序序列。它们也是可变的并且大小不固定,这意味着它们可以在程序的整个生命周期中增长和缩小。可以添加和删除项目,使其使用起来非常灵活。然而
2、,列表和数组不是一回事。列表可以包含各种数据类型的存储项目。这意味着列表可以同时包含整数、浮点数、字符串或任何其他 Python 数据类型。数组的情况并非如此。如上一节所述,数组仅存储具有相同单一数据类型的项目。何时使用 Python 数组列表内置于 Python 编程语言中,而数组则不然。数组不是内置数据结构,因此需要通过导入 array 模块才能使用。数组(array)模块是 C 数组的薄包装,当你想要处理同类数据时非常有用。它们也更紧凑,占用的内存和空间更少,这使得它们比列表更有效。如果你想进行数学计算,那么你应该通过导入 NumPy 包来使用 NumPy 数组。除此之外,你应该在真正需
3、要时才使用 Python 数组,因为列表的工作方式类似,并且使用起来更加灵活。如何在 Python 中使用数组为了创建 Python 数组,你首先必须导入 array 模块,它包含所有必需函数的数组。你可以通过三种方式导入 array 模块:1. import array:通过在文件顶部使用。然后,你将继续使用创建一个数组array.array()。2. import array3. # how you would create an array4. array.array()5. array.array():你可以使用import array as arr在文件顶部使用而不是单独使用,然后你
4、可以通过键入创建一个数组arr.array()。充当arr别名,数组构造函数紧随其后。6. import array as arr7. # how you would create an array8. arr.array()9. 最后,你还可以使用from array import *,*导入所有可用的功能。然后,你可以通过单独编写构造函数来创建一个数组array()。10. from array import *11. # how you would create an array12. array()如何在 Python 中定义数组导入了array模块之后,你就可以继续定义 Python
5、 数组。创建数组的一般语法如下所示:variable_name = array(typecode, elements)让我们来分解一下: variable_name将是数组的名称。 指定typecode,数组中将存储哪种类型的元素。无论是整数数组、浮点数数组还是任何其他 Python 数据类型的数组。请记住,所有元素应该具有相同的数据类型。 在方括号内,你提到的elements将存储在数组中,每个元素用逗号分隔。你还可以通过仅单独写入而不包含任何元素来创建空数组。variable_name = array(typecode)下面是一个类型代码表,其中包含定义 Python 数组时可与不同数据类
6、型一起使用的不同类型代码:类型代码C型PYTHON 类型尺寸b签名字符整数1B无符号字符整数1uwchar_t统一码字符2H签名短整数2H无符号短整数2l有符号整数整数2l无符号整数整数2l长签整数4L无符号长整数4q签名长整数8Q无符号长整数8F漂浮漂浮4d双倍的漂浮8将所有内容结合在一起,下面是如何在 Python 中定义数组的示例:import array as arr numbers = arr.array(i, 10, 20, 30)print(numbers)# 输出# array(i, 10, 20, 30)让我们来分解一下: 首先,我们包含了数组模块,通过import arra
7、y as arr。 然后,我们创建了一个numbers数组。 我们使用arr.array()是因为我们导入了array模块。 在array()构造函数中,我们首先包含i,表示有符号整数。有符号整数意味着数组可以包含正值和负值。例如,无符号整数 H 意味着不允许负值。 最后,我们将要存储在数组中的值包含在方括号中。请记住,如果你尝试包含非 i 类型代码的值(这意味着它们不是整数值),你将收到错误消息:import array as arr numbers = arr.array(i, 10.0, 20, 30)print(numbers)# 输出# Traceback (most recent
8、call last):# File your_file.py, line 4, in # numbers = arr.array(i, 10.0, 20, 30)# TypeError: float object cannot be interpreted as an integer在上面的示例中,我尝试在数组中包含浮点数。我收到错误,因为这只是一个整数数组。创建数组的另一种方法如下:from array import *# 使用浮点数值创建一个数组numbers = array(d, 10.0, 20.0, 30.0)print(numbers)# 输出# array(d, 10.0, 20
9、.0, 30.0)上面的示例导入了array模块,通过from array import *,并创建了一个 float 数据类型的数组numbers。这意味着它仅包含由类型代码指定的浮点数 d。如何在 Python 中查找数组的长度要找出数组中包含的确切元素数,请使用内置len()方法。它将返回等于你指定的数组中元素总数的整数。import array as arr numbers = arr.array(i, 10, 20, 30)print(len(numbers)# 输出# 3在上面的例子中,数组包含三个元素 - 10, 20, 30,所以长度len(numbers)是 3。数组索引以及
10、如何在 Python 中访问数组中的单个项目数组中的每个项目都有一个特定的地址。通过引用其索引号来访问各个项目。Python 以及所有编程语言和一般计算中的索引从开始0。重要的是要记住,计数是从开始0,而不是从开始1。要访问元素,首先编写数组名称,后跟方括号。在方括号内包含该项目的索引号。一般语法看起来像这样:array_nameindex_value_of_item以下是访问数组中每个单独元素的方法:import array as arr numbers = arr.array(i, 10, 20, 30)print(numbers0) # 获取第一个元素print(numbers1) #
11、获取第二个元素print(numbers2) # 获取第三个元素# 输出# 10# 20# 30请记住,数组最后一个元素的索引值始终比数组长度小一。其中 n 是数组的长度,n - 1 将是最后一项的索引值。请注意,你还可以使用负索引访问每个单独的元素。使用负索引时,最后一个元素的索引为 -1,倒数第二个元素的索引为 -2,依此类推。import array as arr numbers = arr.array(i, 10, 20, 30)print(numbers-1) # 获取最后一个元素print(numbers-2) # 获取倒数第二个元素print(numbers-3) # 获取第一个
12、元素# 输出# 30# 20# 10如何在 Python 中搜索数组你可以使用index()方法找出元素的索引号。将要搜索的元素的值作为参数传递给该方法,并返回该元素的索引号。import array as arr numbers = arr.array(i, 10, 20, 30)# 在数组中搜索值为 10 的索引号print(numbers.index(10)# 输出# 0如果有多个元素具有相同的值,则将返回该值的第一个实例的索引:import array as arr numbers = arr.array(i, 10, 20, 30, 10, 20, 30)# 在数组中搜索值为 10
13、的索引号# 将返回第一个实例的索引号print(numbers.index(10)# 输出# 0如何在 Python 中循环数组你已经了解了如何访问数组中的每个单独元素并将其单独打印出来。你还了解了如何使用print()方法打印数组。如果你想一一打印每个值怎么办?这就是循环派上用场的地方。你可以循环遍历数组并在每次循环迭代时一一打印出每个值。为此,你可以使用一个简单的for循环:import array as arr numbers = arr.array(i, 10, 20, 30)for number in numbers: print(number)# 输出# 10# 20# 30你还可
14、以使用range()函数,并将len()方法作为其参数传递。这将产生与上面相同的结果:import array as arr values = arr.array(i, 10, 20, 30)# 逐个打印数组中的每个值for value in range(len(values): print(valuesvalue)# 输出# 10# 20# 30如何在 Python 中对数组进行切片要访问数组内特定范围的值,请使用切片运算符,它是一个冒号:。当使用切片运算符并且仅包含一个值时,默认从开始计数。它获取第一项,并上升到但不包括你指定的索引号。import array as arr # 原始数组numbers = arr.array(i, 10, 20, 30)# 获取值 10 和 20print(numbers:2) # 从第一位置到第二位置# 输出# array(i, 10, 20)当你传递两个数字作为参数时,你指定了一个数字范围。在这种情况下,计数从范围中第一个数字的位置开始,直到但不包括第二个数字:import array as arr # 原始数组numbers = arr.array(i,