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

yipeiwu_com7年前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批量提取Win10锁屏壁纸实战教程

利用Python批量提取Win10锁屏壁纸实战教程

前言 相信使用Win10的朋友会发现,每次开机锁屏界面都会有不一样的漂亮图片,这些图片通常选自优秀的摄影作品,十分精美。 但是由于系统会自动更换这些图片,所以就算再好看的图片,也许下次...

Python使用matplotlib绘制多个图形单独显示的方法示例

Python使用matplotlib绘制多个图形单独显示的方法示例

本文实例讲述了Python使用matplotlib绘制多个图形单独显示的方法。分享给大家供大家参考,具体如下: 一 代码 import numpy as np import matp...

pandas中的series数据类型详解

本文介绍了pandas中的series数据类型详解,分享给大家,具体如下: import pandas as pd import numpy as np import names...

对Python 两大环境管理神器 pyenv 和 virtualenv详解

简介 pyenv 是一个开源的 Python 版本管理工具,可以轻松地给系统安装任意 Python 版本,想玩哪个版本,瞬间就可以切换。有了 pyenv,我们不需要再为系统多版本 Pyt...

给Python入门者的一些编程建议

Python是一种非常富有表现力的语言。它为我们提供了一个庞大的标准库和许多内置模块,帮助我们快速完成工作。然而,许多人可能会迷失在它提供的功能中,不能充分利用标准库,过度重视单行脚本,...