数据结构篇(python):数组array

d26e1f4355b947969f6a7e2c3c1155d5.gif

防伪开头

一、数组的基本概念

数组(Array)是一种基本的数据结构,用于存储固定大小的同类型元素。数组中的每个元素都有一个索引,用于唯一标识该元素在数组中的位置。数组在内存中是连续存储的,这使得数组的元素可以快速访问。在Python中,通常使用第三方库 numpy 来创建和操作数组。Numpy是Python的一个强大数学和科学计算库,为高效操作多维数组提供了丰富的函数和方法。

二、数组的特点

固定大小

数组的大小在创建时确定,一旦创建,其大小不可改变。

同类型元素

数组中的所有元素必须是同一类型。例如,一个整数数组只能存储整数,一个浮点数数组只能存储浮点数。

快速访问

数组支持通过索引快速访问元素。由于数组在内存中是连续存储的,通过索引可以直接计算出元素的内存地址,因此访问速度非常快。

连续存储

数组的元素在内存中是连续存储的,这使得数组在进行某些操作(如遍历)时非常高效。

三、数组的常见操作

1.数组创建

# 创建一个整数数组
my_array = np.array([1, 2, 3, 4, 5])

2.数组访问

# 访问元素
print(my_array[0])  # 输出: 1

3.数组修改

# 修改元素
my_array[0] = 10
print(my_array)  # 输出: [10  2  3  4  5]

4.添加元素

# 添加元素(numpy数组大小不可变,需要创建新数组)
my_array = np.append(my_array, 6)
print(my_array)  # 输出: [10  2  3  4  5  6]

numpy数组的大小是固定的,不能直接修改。因此,当需要“添加”元素时,实际上是创建一个新的数组来包含原始数组的元素和新添加的元素。numpy提供了np.append()函数来实现这一操作。

5.删除元素

# 删除元素
my_array = np.delete(my_array, -1)
print(my_array)  # 输出: [10  2  3  4  5]

同样的,删除数组中的元素时,实际上也是通过创建一个新的数组来实现的,而不是直接在原数组上进行删除操作。

6.获取数组的类型

# 获取数组的类型
print(my_array.dtype)  # 输出: int32

7.获取数组的形状

# 获取数组的形状
print(my_array.shape)  # 输出: (5,)

8.创造多维数组

# 多维数组
my_2d_array = np.array([[1, 2, 3], [4, 5, 6]])
print(my_2d_array)  # 输出: [[1 2 3]
                     #      [4 5 6]]

四、数组的统计操作

#求和
print(np.sum(my_2d_array))

#求最大值
print(np.max(my_2d_array))

#求最小值
print(np.min(my_2d_array))

#求平均值
print(np.mean(my_2d_array))

五、完整代码实例

import numpy as np

# 创建一个整数数组
my_array = np.array([1, 2, 3, 4, 5])

# 访问元素
print(my_array[0])  # 输出: 1

# 修改元素
my_array[0] = 10
print(my_array)  # 输出: [10  2  3  4  5]

# 添加元素(numpy数组大小不可变,需要创建新数组)
my_array = np.append(my_array, 6)
print(my_array)  # 输出: [10  2  3  4  5  6]

# 删除元素
my_array = np.delete(my_array, -1)
print(my_array)  # 输出: [10  2  3  4  5]

# 获取数组的类型
print(my_array.dtype)  # 输出: int32

# 获取数组的形状
print(my_array.shape)  # 输出: (5,)

# 多维数组
my_2d_array = np.array([[1, 2, 3], [4, 5, 6]])
print(my_2d_array)  # 输出: [[1 2 3]
                     #      [4 5 6]]

'''
数组的统计操作
'''
#求和
print(np.sum(my_2d_array))

#求最大值
print(np.max(my_2d_array))

#求最小值
print(np.min(my_2d_array))

#求平均值
print(np.mean(my_2d_array))

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值