1. 定义
(1)数组array: 是同类型数据的有限集合
(2)列表list: 是一系列按特定顺序排列的元素组成,可以将任何数据放入列表,且其中元素之间没有任何关系。
2. 两者不同点
(0)列表是直接可以在python中使用的;数组是python中numpy库的,所以需要import numpy后,才能使用;
(1)列表中的元素数据类型可以不一样;数据中的元素数据类型必须一样;
(2)列表不可以进行四则运算;数组可以进行四则运算;
(3)列表可以使用更多的存储空间,数组使用空间则相对较少;
(4)由于Numpy专门针对数组的操作和运算进行了设计,所以数组的存储效率和输入输出性能都远优于python中的列表,且数据量越大,优势就越明显
3. 两者相同点
(1)都可以根据索引取其中的数组
4. 基本用法
4.1 数组array的基本用法
Step1: 引入依赖
import numpy as np
Step2: 初始化
import numpy as np
arr1 = np.zeros(5) # 初始化1维数组
arr2 = np.arange(0, 16).reshape(4, 4) # 初始化2维数组
Step3: 基本操作
arr1 = np.zeros(5) # 初始化1维数组
arr2 = np.arange(0, 16).reshape(4, 4) # 初始化2维数组
x = arr1[0]+arr1[1]+1
print(x)
print("长度:", arr1.size)
print("类型", type(arr1))
打印结果:
1.0
长度: 5
类型 <class 'numpy.ndarray'>
基本操作有点简单,就部一一展示了。
4.2 列表list的基本用法
怎删改查看代码,写得比较清晰了:
# 1.初始化元素
list = []
print("原list = ", list)
# 2. 增(append在末尾增加)
list.append(0) # 增加一个数字
list.append(np.zeros(3)) # 增加一个数组
list.append(["a", "b"]) # 增加一个列表
print("增加后的list = ", list)
# 3. 改
list[0] = 1
print("改后list = ", list)
# 4. 插入元素(insert(下标,元素),在指定位置位置增加,原下标及以后下标的元素都会向后移一位)
list.insert(0, ["c"])
print("插入后的list = ", list)
# 5. 移除
list.remove(["c"]) # 删除指定值
print("删除指定[""]后的list = ", list)
list.pop(1) # 删除指定索引后的值
print("删除指定索引1后的list = ", list)
list.pop() # 删除最后一个值
print("删除最后一个值后的list = ", list)
运行结果:
原list = []
增加后的list = [0, array([0., 0., 0.]), ['a', 'b']]
改后list = [1, array([0., 0., 0.]), ['a', 'b']]
插入后的list = [['c'], 1, array([0., 0., 0.]), ['a', 'b']]
删除指定[]后的list = [1, array([0., 0., 0.]), ['a', 'b']]
删除指定索引1后的list = [1, ['a', 'b']]
删除最后一个值后的list = [1]