Python-python中数组和列表读取⼀列的⽅法
在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。
也正因为列表可以存放不同类型的数据,因此列表中每个元素的⼤⼩可以相同,也可以不同,也就不⽀持⼀次性读取⼀列,即使是对于标准的⼆维数字列表:
python怎么读取excel某一列>>> 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]
⽽对于数组,可以直接读取:
>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> a[:,0]
array([1, 4])
当然列表在处理混合数据时也有着独特的优势。
⼈⽣苦短,我⽤python~

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。