一学就废|Python基础碎片,数组Array

liftword2个月前 (02-28)技术文章13

在 Python 中,数组是存储在连续内存元素的集合,这个想法是将多个相同类型的元素存储在一起。与 Python 列表(List可以存储混合类型的元素)不同,Python 中的Array数组必须具有相同类型的所有元素。只有同质元素使的内存使用效率更高。

数组创建

数组可以通过导入数组模块来创建。array(data_type,value_list)用于在 Python 中创建数组,其参数中指定了数据类型值列表。在下面的代码中,创建了2个数组:一个整数和一个双精度的类型,然后它将每个数组的内容打印到控制台。

import array as arr
a = arr.array('i', [1, 2, 3])
print("新建的数组 : ", end=" ")
for i in range(0, 3):
print(a[i], end=" ")
print()

b = arr.array('d', [2.5, 3.2, 3.3])
print("\n新建的数组 : ", end=" ")
for i in range(0, 3):
print(b[i], end=" ")


新建的数组 : 1 2 3

新建的数组 : 2.5 3.2 3.3

以下是第一个参数可定义的类型码:

将元素添加到数组

元素可以通过使用内置的insert()函数添加到数组中。根据需求,可以在数组的开头、结尾或任何给定索引处添加一个新元素。append()也用于在 Python 数组的末尾添加元素。

import array as arr

# Integer array example
a = arr.array('i', [1, 2, 3])
print("插入元素前的整数数组:", *a)

a.insert(1, 4) # Insert 4 at index 1
print("插入元素后的整数数组:", *a)

# Floating-point array example
b = arr.array('d', [2.5, 3.2, 3.3])
print("插入元素前的浮点型数组:", *b)

b.append(4.4) # Append 4.4 to the array
print("插入元素后的浮点型数组:", *b)

插入元素前的整数数组 : 1 2 3
插入元素后的整数数组 : 1 4 2 3
插入元素前的浮点型数组 : 2.5 3.2 3.3
插入元素后的浮点型数组 : 2.5 3.2 3.3 4.4

访问数组元素

在 Python 中,使用索引运算符 [ ] 来访问数组中的元素,索引必须是整数。

如下,代码首先展示了如何导入数组和使用索引来访问数组中的元素。a [0] 表达式访问数组 a 的第一个元素,即 1。a [3] 表达式访问数组 a 的第四个元素,即 4。类似地,b [1] 表达式访问数组 b 的第二个元素,即 3.2,b [2] 表达式访问数组 b 的第三个元素,即 3.3。

import array as arr
a = arr.array('i', [1, 2, 3, 4, 5, 6])

print("访问的元素值为: ", a[0])
print("访问的元素值为: ", a[3])

b = arr.array('d', [2.5, 3.2, 3.3])
print("访问的元素值为: ", b[1])
print("访问的元素值为: ", b[2])

访问的元素值为: 1
访问的元素值为: 4
访问的元素值为: 3.2
访问的元素值为: 3.3

删除数组元素

可以使用内置的remove()函数删除元素,但如果元素在集合中不存在,则会出现错误。Remove()方法一次只删除一个元素,要删除元素范围,需使用迭代器。pop()函数也可用于从数组中删除并返回一个元素,但默认情况下它只删除数组的最后一个元素,要从数组的特定位置删除元素,元素的索引作为参数传递给 pop()方法。

注意 :remove()方法只会删除搜索到的第一次出现的元素。以下代码展示了如何导入数组,创建、打印、删除元素和访问数组的元素。首先导入数组模块,创建一个整数数组,打印数组。然后从数组中删除一个元素并打印修改后的数组。最后,它从数组中删除所有出现的特定元素并打印更新的数组。

import array
arr = array.array('i', [1, 2, 3, 1, 5])
print("新建的数组为 : ", end="")
for i in range(0, 5):
print(arr[i], end=" ")

print("\r")
print("删除的元素为: ", end="")
print(arr.pop(2))
print("pop删除元素后的数组 : ", end="")
for i in range(0, 4):
print(arr[i], end=" ")

print("\r")
arr.remove(1)
print("remove删除元素后的数组 : ", end="")
for i in range(0, 3):
print(arr[i], end=" ")

新建的数组为 : 1 2 3 1 5
删除的元素为: 3
pop删除元素后的数组 : 1 2 1 5
remove删除元素后的数组 : 2 1 5

数组的切片

有多种方法可以打印包含所有元素的整个数组,但是要从数组中打印特定范围的元素,我们使用 切片操作。使用冒号(:)对数组执行切片操作。要从开始到指定范围打印元素,使用 [: Index],从最后开始使用 [:-Index] 打印元素,从指定索引打印元素,直到最后使用 [Index:],要打印指定范围内的元素,使用 [Start Index:End Index],使用切片打印整个数组,使用 [:]。此外,要以相反的顺序打印整个数组,使用 [::-1]。

import array as arr
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

a = arr.array('i', l)
print("原始数组为: ")
for i in (a):
print(i, end=" ")
Sliced_array = a[3:8]
print("\n获取地~第7个元素(索引范围3-8): ")
print(Sliced_array)

Sliced_array = a[5:]
print("\n获取从下标为5的开始到最后:")
print(Sliced_array)

Sliced_array = a[:]
print("\n打印整个数组: ")
print(Sliced_array)

原始数组为:
1 2 3 4 5 6 7 8 9 10

获取地~第7个元素(索引范围3-8):
array('i', [4, 5, 6, 7, 8])

获取从下标为5的开始到最后:
array('i', [6, 7, 8, 9, 10])

打印整个数组
array('i', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

在数组中搜索元素

使用内置的index()方法在数组中搜索指定元素。此函数返回元素值第一次出现的索引。以下代码演示了如何在创建数组,打印其元素,并查找特定元素的索引。导入数组模块,创建一个整数数组,使用for循环打印数组,然后使用index()方法查找第一次出现的整数2和1的索引。

import array
arr = array.array('i', [1, 2, 3, 1, 2, 5])
print("新建的数组为 : ", end="")
for i in range(0, 6):
print(arr[i], end=" ")

print("\r")
print("第一次出现的元素2所在的索引 : ", end="")
print(arr.index(2))
print("第一次出现的元素1所在的索引 : ", end="")
print(arr.index(1))

新建的数组为 : 1 2 3 1 2 5
第一次出现的元素2所在的索引 : 1
第一次出现的元素1所在的索引 : 0

更新数组中的元素

更新数组中的元素,我们只需将一个新值重新分配给我们想要更新的索引。以下代码说明了使用索引修改数组中元素的功能。导入数组模块,创建一个整数数组,并打印初始数组。然后,它在特定索引处修改数组的两个元素并打印更新后的数组。

import array
arr = array.array('i', [1, 2, 3, 1, 2, 5])
print("更新前的数组 : ", end="")
for i in range(0, 6):
print(arr[i], end=" ")

print("\r")
arr[2] = 6
print("更新后的数组 : ", end="")
for i in range(0, 6):
print(arr[i], end=" ")
print()

arr[4] = 8
print("更新后的数组 : ", end="")
for i in range(0, 6):
print(arr[i], end=" ")

更新前的数组 : 1 2 3 1 2 5
更新后的数组 : 1 2 6 1 2 5
更新后的数组 : 1 2 6 1 8 5

元素计数

为了计数数组中的元素,我们需要使用 count ()方法。以下代码演示了如何确定数组中指定元素的个数。首先导入数组模块,创建一个整数数组,并使用 count(0方法计算数字 2 的出现次数,最后打印结果。

import array
my_array = array.array('i', [1, 2, 3, 4, 2, 5, 2])
count = my_array.count(2)
print("元素2出现的次数:", count)

元素2出现的次数: 3

反转数组中的元素

使用reverse()方法。以下给出的代码演示了使用reverse()方法反转数组中元素顺序。首先导入数组模块,创建一个整数数组,打印原始数组,使用everse()反转元素的顺序,然后打印反转的数组。

import array
my_array = array.array('i', [1, 2, 3, 4, 5])
print("原始数组:", *my_array)
my_array.reverse()
print("反转后的数组:", *my_array)

原始数组: 1 2 3 4 5
反转后的数组: 5 4 3 2 1

数组扩展

数组用于在单个变量中存储多个相同数据类型的元素。extend()函数仅用于将另一个数组的所有元素追加到一个数组的末尾。

以下代码演示了扩展数组的用法。首先导入数组模块,创建一个整数数组,在扩展之前打印数组,使用extend()方法扩展数组,最后打印扩展数组。

import array as arr
a = arr.array('i', [1, 2, 3,4,5])
print("扩展前的数组 : ", end =" ")
for i in range (0, 5):

print (a[i], end =" ")

print()
a.extend([6,7,8,9,10])
print("\n扩展后的数组 :",end=" ")

for i in range(0,10):
print(a[i],end=" ")

print()

扩展前的数组 : 1 2 3 4 5

扩展后的数组 : 1 2 3 4 5 6 7 8 9 10

相关文章

Python -numpy 数组的创建_numpy如何创建数组

用numpy创建1,2,3维数组的方法:import numpy as np a = np.array([1,2,3]) a1 = np.array([[1,2],[3,4],[5,6]]) a2 =...

10个NumPy数组操作的高级技巧_numpy数组运算

在数据处理和科学计算的广阔世界里,NumPy是你的第一站。今天,我们将一起探索NumPy数组操作的10个高级技巧,让你的数据处理技能迅速升级。无论你是数据分析新手还是想要深化理解的老手,这篇文章都是为...

Python编程实战:将多个数组按照元素依次交叉拼接成一个数组

问题提出假定有3个一维数组x0、x1、x2,其元素分别为:x0 = [1, 2, 3]x1 = [4, 5, 6]x2 = [7, 8, 9]请将这3个一维数组的元素交叉拼接后,组成一个新的一维数组y...

Python 数据类型 - 数组_python数组的应用

Python 数据类型 - 数组在本节中,你将学习如何在 Python 中创建和访问数组的元素。数组是相同数据类型的元素的集合。数组和列表之间的主要区别是列表可以具有不同数据类型的元素。在 Pytho...

python实现数组操作代码_python数组操作方法

Python是一种功能强大的编程语言,尤其在处理数组和列表等数据结构时非常出色。它提供了许多有用的工具和库,使得数组操作变得轻松和高效。本文将详细介绍Python中实现数组操作的代码,并给出一些示例。...