python中实现数组和列表读取一列的方法

yipeiwu_com6年前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。

也正因为列表可以存放不同类型的数据,因此列表中每个元素的大小可以相同,也可以不同,也就不支持一次性读取一列,即使是对于标准的二维数字列表:

>>> 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中实现数组和列表读取一列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python查询sqlite数据表的方法

本文实例讲述了python查询sqlite数据表的方法。分享给大家供大家参考。具体实现方法如下: import sqlite3 as db conn = db.connect('my...

python3中property使用方法详解

本文实例为大家分享了python3中的property使用方法,供大家参考,具体内容如下 property属性 定义 一个可以使实例方法用起来像实例属性一样的特殊关键字,可以对应于某个方...

python tkinter canvas使用实例

python tkinter canvas使用实例

这篇文章主要介绍了python tkinter canvas使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 注:在使用 cre...

python实现在IDLE中输入多行的方法

在python命令行模式下,在IDLE中输入多行,例如if  else 使用tab的方式,控制缩进 在最后,连续两个回车,表示结束 >>> if stat...

详解如何设置Python环境变量?

详解如何设置Python环境变量?

家好,我是Yivies!相信大家多多少少遇到过这样的情况吧?就是在安装了python之后想完整在命令提示符直接输入python就可以使用的操作,但是会出现输入了python之后找不到命令...