zoukankan      html  css  js  c++  java
  • 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
    • 1
    • 2
    • 3
    • 4
    • 5

    ​ 我们需要用列表解析的方法读取一列:

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

    ​ 而对于数组,可以直接读取:

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

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

    ​ 人生苦短,我用python~

  • 相关阅读:
    elasticsearch安装ik分词器
    原来你是这样的JAVA[03]-继承、多态、抽象类
    JAVA入门[23]-SpringBoot配置Swagger2
    原来你是这样的JAVA[01]-基础一瞥
    springboot + @scheduled 多任务并发
    chrome解决http自动跳转https问题
    jquery.uploadify+spring mvc实现上传图片
    JAVA POI导出excel
    使用ztree展示树形菜单结构
    shiro入门示例
  • 原文地址:https://www.cnblogs.com/qiumingcheng/p/14187911.html
Copyright © 2011-2022 走看看