数组简介
在Python中,数组是一种基本的数据结构,用于存储一系列有序的数据项。Python的数组可以通过内置的列表来实现,但为了更高效地处理大型数据集和执行复杂的数算,通常会使用NumPy库。NumPy提供了强大的数组操作功能,包括创建、索引、切片、赋值等。
创建数组
列表创建
# 使用列表创建数组
a = [1, 2, 3, 4, 5]
NumPy创建
import numpy as np
# 从列表创建一维数组
b = np.array([1, 2, 3, 4, 5])
# 创建数组
c = np.array([[1, 2], [3, 4]])
数组属性
维度(ndim)
# 获取数组的维度
print(b.ndim) # 输出:1
print(c.ndim) # 输出:2
形状(shape)
# 获取数组的形状
print(b.shape) # 输出:(5,)
print(c.shape) # 输出:(2, 2)
元素个数(size)
# 获取数组的元素个数
print(b.size) # 输出:5
print(c.size) # 输出:4
数据类型(dtype)
# 获取数组的数据类型
print(b.dtype) # 输出:int
print(c.dtype) # 输出:int
数组索引与切片
一维数组索引
# 通过正数索引获取值
print(b[0]) # 输出:1
# 通过负数索引获取值
print(b[-1]) # 输出:5
二维数组索引
# 通过正数索引获取值
print(c[0, 0]) # 输出:1
# 通过负数索引获取值
print(c[1, 1]) # 输出:4
数组切片
# 切片[开始:结束:步长]
print(c[0, :]) # 输出:[1 2]
print(c[:, 1]) # 输出:[2 4]
数组赋值
直接赋值
# 直接赋值
a[0] = 0
print(a) # 输出:[0, 2, 3, 4, 5]
扩展赋值
# 扩展赋值
a.extend([6, 7, 8])
print(a) # 输出:[0, 2, 3, 4, 5, 6, 7, 8]
数组操作
数组运算
# 数组的算术运算
print(a + b) # 输出:[2, 4, 6, 8, 10]
数组与标量的运算
# 数组与标量的运算
print(a * 2) # 输出:[0, 4, 6, 8, 10]
广播机制
# 广播机制
print(a * c) # 输出:[[ 0 2]
# [ 6 8]]
总结
通过本文,我们学习了Python数组的创建、属性、索引、切片、赋值以及操作技巧。掌握这些基础技能后,你可以更高效地处理数据,并在Python编程中发挥数组的强大功能。