zoukankan      html  css  js  c++  java
  • python中list与数组

    1、list转换为数组

    python中list转换为数组的方法为:b = np.array(list)

    今天在使用该方法将二维list转换为二维数组时一直不成功,结果仍然是两个list,最后发现是两个list的元素数目不一样导致的,最后修改使两者数目一致,转换成功

    list对其元素的类型和各元素所包含的子元素的类型及数目没有要求,这和数组不同,数组要求类型和数目必须相同,所以在将list转换为array时需要注意这一点

    2、list与数组的读取

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

    1 a = [[1, 2, 3], [4, 5, 6]]
    2 print(a[0])
    3 # 结果为:[1, 2, 3]
    4 print(a[:, 0])  # 以数组的方式读取一列,报错
    5 # TypeError: list indices must be integers or slices, not tuple
    1 #可以用列表解析的方式读取一列
    2 a = [[1, 2, 3], [4, 5, 6]]
    3 b = [x[0] for x in a]
    4 print(b)
    5 # 结果为:[1, 4]
    1 # 对于数组可以直接读取
    2 a = [[1, 2, 3], [4, 5, 6]]
    3 a = np.array(a)
    4 print(a[:, 0])
    5 # 结果为:[1 4]

    本文来自 lyshello123 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/songyunli1111/article/details/78109976?utm_source=copy

  • 相关阅读:
    HTML 表单常用的代码元素
    HTML 基础及基本标签 (暂时无图)
    C#中的集合
    SQL中的视图,事务
    SQL基本编程,分支语句,循环语句,存储过程,触发器
    GO.语言基础
    问题.beego路由设置及请求参数传递
    GO.数据库接口
    Java NIO 上
    maven构建springmvc过程中遇到的一些问题
  • 原文地址:https://www.cnblogs.com/OoycyoO/p/9690992.html
Copyright © 2011-2022 走看看