Python-python中数组和列表读取一列的方法

转载自:https://blog.csdn.net/songyunli1111/article/details/78109976python

 在python中,普通的列表list和numpy中的数组array是不同的,最大的不一样是:一个列表中能够存放不一样类型的数据,包括int、float和str,甚至布尔型;而一个数组中存放的数据类型必须所有相同,int或float。数组

​ 在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,并不是数据,这样保存一个list就太麻烦了,例如list1=[1,2,3,4]须要4个指针和四个数据,增长了存储和消耗cpu,而array1=numpy.array([1,2,3,4])只须要存放四个数据,读取和计算更加方便,所以在作纯数字操做时,建议使用array。spa

​ 也正由于列表能够存放不一样类型的数据,所以列表中每一个元素的大小能够相同,也能够不一样,也就不支持一次性读取一列,即便是对于标准的二维数字列表:.net

>>> a=[[1,2,3],[4,5,6]]
>>> a[0]    #取一行
[1, 2, 3]
>>> a[:,0]  #尝试用数组的方法读取一列失败
TypeError: list indices must be integers or slices, not tuple

​ 咱们须要用列表解析的方法读取一列:指针

>>> b=[x[0] for x in a]
>>> print(b)
[1, 4]

​ 而对于数组,能够直接读取:code

>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> a[:,0]
array([1, 4])

​ 固然列表在处理混合数据时也有着独特的优点。blog

​ 人生苦短,我用python~class

相关文章
相关标签/搜索