数组是存储在连续内存位置的项目的集合。 这个想法是将多个相同类型的项目存储在一起。 这使得计算每个元素的位置变得更容易,只需将偏移量添加到基值,即数组第一个元素的内存位置(通常由数组的名称表示)。
为简单起见,我们可以将一组楼梯想象成一个数组,每一步都放置一个值(假设是你的一个朋友)。 在这里,您只需知道他们所走的步数即可识别任何朋友的位置。 数组可以在 Python 中由名为数组的模块处理。 当我们只需要操作特定的数据类型值时,它们会很有用。 用户可以将列表视为数组。 但是,用户不能限制存储在列表中的元素的类型。 如果您使用数组模块创建数组,则数组的所有元素必须属于同一类型。
1 创建数组
Python 中的数组可以通过导入数组模块来创建。 array(data_type, value_list) 用于创建一个数组,其参数中指定了数据类型和值列表。
import array as arra = arr.array('i', [1, 2, 3])
print ("The new created array is : ", end =" ")
for i in range (0, 3):
print (a[i], end =" ")
print()
b = arr.array('d', [2.5, 3.2, 3.3])
print ("The new created array is : ", end =" ")
for i in range (0, 3):
print (b[i], end =" ")
2 向数组中添加元素
可以使用内置的 insert() 函数将元素添加到数组中。 插入用于将一个或多个数据元素插入到数组中。 根据要求,可以在数组的开头、结尾或任何给定索引处添加新元素。 append() 还用于将其参数中提到的值添加到数组的末尾。
import array as arra = arr.array('i', [1, 2, 3])
print ("Array before insertion : ", end =" ")
for i in range (0, 3):
print (a[i], end =" ")
print()
a.insert(1, 4)
print ("Array after insertion : ", end =" ")
for i in (a):
print (i, end =" ")
print()
b = arr.array('d', [2.5, 3.2, 3.3])
print ("Array before insertion : ", end =" ")
for i in range (0, 3):
print (b[i], end =" ")
print()
b.append(4.4)
print ("Array after insertion : ", end =" ")
for i in (b):
print (i, end =" ")
print()
3 访问数组中的元素
为了访问数组项,请参阅索引号。 使用索引运算符 [ ] 访问数组中的项目。 索引必须是整数。
import array as arra = arr.array('i', [1, 2, 3, 4, 5, 6])
print("Access element is: ", a[0])
print("Access element is: ", a[3])
b = arr.array('d', [2.5, 3.2, 3.3])
print("Access element is: ", b[1])
print("Access element is: ", b[2])
4 从数组中移除元素
可以使用内置的 remove() 函数从数组中删除元素,但如果集合中不存在元素,则会出现错误。 Remove() 方法一次只删除一个元素,要删除元素范围,使用迭代器。 pop() 函数也可用于从数组中删除和返回一个元素,但默认情况下它只删除数组的最后一个元素,要从数组的特定位置删除元素,元素的索引作为 pop() 方法的参数。
注意: List 中的 Remove 方法只会删除第一次出现的搜索元素。
import arrayarr = array.array('i', [1, 2, 3, 1, 5])
print ("The new created array is : ", end ="")
for i in range (0, 5):
print (arr[i], end =" ")
print ("\r")
print ("The popped element is : ", end ="")
print (arr.pop(2))
print ("The array after popping is : ", end ="")
for i in range (0, 4):
print (arr[i], end =" “)
print("\r")
arr.remove(1)
print ("The array after removing is : ", end ="")
for i in range (0, 3):
print (arr[i], end =" ")
5 数组切片
在 Python 数组中,有多种方法可以打印包含所有元素的整个数组,但要从数组中打印特定范围的元素,我们使用 Slice 操作。 使用冒号(:) 对数组执行切片操作。 要打印从开始到范围的元素使用 [:Index],要打印从最终的元素使用 [:-Index],要打印从特定索引到结束的元素使用 [Index:],要打印范围内的元素,请使用 [ 开始索引:结束索引]并使用切片操作打印整个列表,请使用 [:]。 此外,要以相反的顺序打印整个数组,请使用 [::-1]。
import array as arrl = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = arr.array('i', l)
print("Initial Array: ")
for i in (a):
print(i, end =" ")
Sliced_array = a[3:8]
print("\nSlicing elements in a range 3-8: ")
print(Sliced_array)
Sliced_array = a[5:]
print("\nElements sliced from 5th "
"element till the end: ")
print(Sliced_array)
Sliced_array = a[:]
print("\nPrinting all elements using slice operation: ")
print(Sliced_array)
6 在数组中搜索元素
为了搜索数组中的元素,我们使用 python 内置的 index() 方法。 此函数返回参数中提到的值第一次出现的索引。
import arrayarr = array.array('i', [1, 2, 3, 1, 2, 5])
print ("The new created array is : ", end ="")
for i in range (0, 6):
print (arr[i], end =" ")
print ("\r")
print ("The index of 1st occurrence of 2 is : ", end ="")
print (arr.index(2))
print ("The index of 1st occurrence of 1 is : ", end ="")
print (arr.index(1))
7 更新数组中的元素
为了更新数组中的元素,我们只需将一个新值重新分配给我们想要更新的所需索引。
import arrayarr = array.array('i', [1, 2, 3, 1, 2, 5])
print ("Array before updation : ", end ="")
for i in range (0, 6):
print (arr[i], end =" ")
print ("\r")
arr[2] = 6
print("Array after updation : ", end ="")
for i in range (0, 6):
print (arr[i], end =" ")
print()
arr[4] = 8
print("Array after updation : ", end =“")
for i in range (0, 6):
print (arr[i], end =" ")