数组:一个同一类型的数据的有限类集合。
列表:由一系列按特定顺序排列的元素组成,元素可以是多种类型,元素之间没有任何关系。
列表 | 数组 | |
创建 | a=[1,2,3,4]或list() | np.array([1,2,3]) np.arange(1,10,0.5) ones((行,列)) zeros((行,列)) |
根据索引取其中的元素 | 是 | 是 |
元素数据类型是否必须一致 | 否 | 是 |
是否可以进行四则运算 | 否 | 是 |
数组的相关属性:
属性名 | 含义 |
ndarray.ndim | 数组的维度 。 |
ndarray.shape | 数组的形状。这是一个指示数组在每个维度上大小的整数元组, (轴数,行数,列数)。 |
ndarray.size | 数组元素的总个数,等于shape属性中元组元素的乘积。 |
ndarray.dtype | 数组中元素类型 |
python中type、dtype()、astype()区别:
type(a) | a.dtype() | astype() |
是python内置的函数。type() 返回数据结构类型(list、dict、numpy.ndarray 等) | 返回数据元素的数据类型(int、float等) | 改变np.array中所有数据元素的数据类型 a.astype(str) # 将a类型改为字符串 |
注:
1) 由于 list、dict 等可以包含不同的数据类型,因此没有dtype属性
2) np.array 中要求所有元素属于同一数据类型,因此有dtype属性
3) 能用dtype() 才能用 astype()
range()和arange()的区别
range() | arange() |
range(1,10) | np.arange(1,10) |
(1) 是python的内置函数,它能返回一系列连续添加的整数,能够生成一个列表对象。 (2) 大多数时常出如今for循环中。在for循环中可做为索引使用。 (3) 本质就是一个迭代器 | 返回的是数组 |
步长必须为整数 | 步长可以为小数 |