当前位置 : 主页 > 编程语言 > python >

Python 中的数组

来源:互联网 收集:自由互联 发布时间:2022-06-18
数组是存储在连续内存位置的项目的集合。 这个想法是将多个相同类型的项目存储在一起。 这使得计算每个元素的位置变得更容易,只需将偏移量添加到基值,即数组第一个元素的内

数组是存储在连续内存位置的项目的集合。 这个想法是将多个相同类型的项目存储在一起。 这使得计算每个元素的位置变得更容易,只需将偏移量添加到基值,即数组第一个元素的内存位置(通常由数组的名称表示)。

为简单起见,我们可以将一组楼梯想象成一个数组,每一步都放置一个值(假设是你的一个朋友)。 在这里,您只需知道他们所走的步数即可识别任何朋友的位置。 数组可以在 Python 中由名为数组的模块处理。 当我们只需要操作特定的数据类型值时,它们会很有用。 用户可以将列表视为数组。 但是,用户不能限制存储在列表中的元素的类型。 如果您使用数组模块创建数组,则数组的所有元素必须属于同一类型。

1 创建数组

Python 中的数组可以通过导入数组模块来创建。 array(data_type, value_list) 用于创建一个数组,其参数中指定了数据类型和值列表。

import array as arr
 
a = 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 =" ")


Python 中的数组_数组

2 向数组中添加元素

可以使用内置的 insert() 函数将元素添加到数组中。 插入用于将一个或多个数据元素插入到数组中。 根据要求,可以在数组的开头、结尾或任何给定索引处添加新元素。 append() 还用于将其参数中提到的值添加到数组的末尾。

import array as arr
 
a = 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()

Python 中的数组_python_02

3 访问数组中的元素

为了访问数组项,请参阅索引号。 使用索引运算符 [ ] 访问数组中的项目。 索引必须是整数。

import array as arr
 
a = 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])

Python 中的数组_搜索_03

4 从数组中移除元素

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

注意: List 中的 Remove 方法只会删除第一次出现的搜索元素。

import array
  
arr = 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 =" ")

Python 中的数组_搜索_04

5 数组切片

在 Python 数组中,有多种方法可以打印包含所有元素的整个数组,但要从数组中打印特定范围的元素,我们使用 Slice 操作。 使用冒号(:) 对数组执行切片操作。 要打印从开始到范围的元素使用 [:Index],要打印从最终的元素使用 [:-Index],要打印从特定索引到结束的元素使用 [Index:],要打印范围内的元素,请使用 [ 开始索引:结束索引]并使用切片操作打印整个列表,请使用 [:]。 此外,要以相反的顺序打印整个数组,请使用 [::-1]。

import array as arr
 
l = [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)

Python 中的数组_python_05

6 在数组中搜索元素

为了搜索数组中的元素,我们使用 python 内置的 index() 方法。 此函数返回参数中提到的值第一次出现的索引。

import array
  
arr = 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))

Python 中的数组_python_06

7 更新数组中的元素

为了更新数组中的元素,我们只需将一个新值重新分配给我们想要更新的所需索引。

import array

arr = 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 =" ")

Python 中的数组_搜索_07

网友评论