1、python中的二维数组,主要有list和numpy.array两种 

>>import numpy as np>>a=[[1,2,3],[4,5,6],[7,8,9]]
>>a
[[1,2,3],[4,5,6],[7,8,9]]
>>type(a)
<type 'list'>>>b=np.array(a)"""List 转为 array"""
>>type(b)
<type 'numpy.array'>
>>b
array=([[1,2,3],[4,5,6],[7,8,9]])
  • 2、list对应的索引输出情况:

>>a[1][1]
5>>a[1]
[4,5,6]>>a[1][:]
[4,5,6]>>a[1,1]"""相当于a[1,1]被认为是a[(1,1)],不支持元组索引"""
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not tuple
>>a[:,1]Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not tuple
  • 3、numpy.array对应的索引输出情况:

>>b[1][1]
5>>b[1]
array([4,5,6])>>b[1][:]
array([4,5,6])>>b[1,1]
5>>b[:,1]
array([2,5,8])
  • 对比可以看出, numpy.array支持比list更多的索引方式,这也是我们最经常遇到的关于两者的区别。此外从[Numpy-快速处理数据]上可以了解到“由于list的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个简单的[1,2,3],有3个指针和3个整数对象。”
  • 4、先看一段代码

  • 先看一段代码
    >>array = [0, 0, 0]
    >>matrix = [array*3]
    ## [[0,0,0,0,0,0,0,0,0]]这段代码其实没有新建一个二维数组再看一段代码>>array = [0, 0, 0]
    >>matrix = [array] * 3
    ## [[0, 0, 0], [0, 0, 0], [0, 0, 0]]咋一看这段代码应该创建一个二维数组了测试一下>>matrix[0][1] = 1
    >>print matrix
    ## [[0, 1, 0], [0, 1, 0], [0, 1, 0]]照理matrix[0][1]修改的应该只是二维数组中的一个元素,但是测试结果表明,修改的是每个List的第二个元素。

    matrix = [array] * 3操作中,只是创建3个指向array的引用,所以一旦array改变,matrix中3个list也会随之改变。

Python之二维数组(list与numpy.array)相关推荐

  1. 【python】二维数组按照某行或某列排序(numpy lexsort)

    这里介绍的排序方法主要是针对最后一行和最后一列,如果要指定某一行目前没有很好的方法,有个笨办法可以先把排序的该列(或行)换到最后,排序后再换回来 曾经以为排序只能使用list的sort函数,后来发现a ...

  2. python输入二维数组_Python输入二维数组方法

    Python输入二维数组方法 前不久对于Python输入二维数组有些不解,今日成功尝试,记以备忘.这里以输入1-9,3*3矩阵为例 n=int(input()) line=[[0]*n]*n for ...

  3. python读取二维数组的行列数_Python获取二维数组的行列数的2种方法

    Python获取二维数组的行列数的2种方法 这篇文章主要介绍了Python获取二维数组的行列数的2种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考 ...

  4. python 构件二维数组_通过这四个构件块来升级您的javascript数组

    python 构件二维数组 Arrays in JavaScript are something special, as they leverage the prototype feature of ...

  5. Python练习——二维数组中每行最大值和每行和

    Python练习--二维数组中每行最大值和每行和 求一个3*3二维数组中每行的最大值和每行的和. 输入格式: 在一行中输入9个小于100的整数,其间各以一个空格间隔 输出格式: 输出3行3列的二维数组 ...

  6. python 对二维数组赋值

    最近做力扣遇到一个问题, obstacleGrid=[[0],[1]]m = len(obstacleGrid) n = len(obstacleGrid[0]) # 需要考虑m=1 n=1dp = ...

  7. python求二维数组各行最大值_python+numpy按行求一个二维数组的最大值方法

    问题描述: 给定一个二维数组,求每一行的最大值 返回一个列向量 如: 给定数组[1,2,3:4,5,3] 返回[3:5] import numpy as np x = np.array([[1,2,3 ...

  8. Python创建二维数组(关于list的一个小坑)

    0.目录 1.遇到的问题 2.创建二维数组的办法 3.1 直接创建法 3.2 列表生成式法 3.3 使用模块numpy创建 1.遇到的问题 今天写Python代码的时候遇到了一个大坑,差点就耽误我交作 ...

  9. python将二维数组转换为一维数组_python的set处理二维数组转一维数组的方法示例...

    for splitValue in set(dataset[:, featureIndex].tolist()): 首先set是一个无序,无重复的数据结构,所以很多时候使用它来进行去重:但是set接收 ...

最新文章

  1. QIIME 2用户文档. 11元数据Metadata(2019.7)
  2. stm32系列启动文件解读(KEIL编译环境)
  3. JBoss Forge NetBeans集成–入门
  4. 使元素水平垂直居中的实现方法
  5. FPGA设计时避免使用循环语句
  6. java jdom_JAVA JDOM生成XML
  7. 每个人都可以创业成功,不要急于求成,慢慢来
  8. ubuntu(jdk配置)
  9. mysql加begin报错,MySQL存储过程例子,不能在if else里面用begin end否则会报错Error Code:1064解决...
  10. 中小型企业网络IP地址规划案例-1
  11. RedHat6.3配置DNS服务器
  12. Coder往事之: 一些炫酷的特效 for web 前端 (一)
  13. 6782. 2020.08.06【NOI2020】模拟T3 乌拉乌拉
  14. Linux2 6--中断机制中的 ksoftirqd
  15. 2019-9-29 opencv摄像机标定与三维重构4-Depth Map from Stereo Images立体图像中的深度图(视差图)
  16. K3 如何将物料属性中的科目代码设置默认值
  17. 请评价一下中国的东北大学计算机水平如何
  18. 逃避不一定躲得过,面对不一定最难过
  19. SortedMap与TreeMap的一个典型应用
  20. 批量处理更香啊,Python 可轻松制作图文并茂的 PDF 报告

热门文章

  1. 【性能定位】cpu占用率过高问题排查
  2. android和平灵敏度,和平精英:灵敏度这样调,压枪才会稳!
  3. 学英语app推荐整理
  4. 麦芒6可以升级鸿蒙,华为Nova 2i悄然发布:国际版麦芒6 三种配色可选
  5. java迭代器的作用_Java 迭代器理解
  6. 解决pd16虚拟机 mac 联网失败问题?pd16不能连接USB设备解决方法
  7. Windows 查看端口是否已打开(转)
  8. 三杀招:如何跟雷军PK空气净化器?
  9. MySQL-如何分库分表?一看就懂
  10. 鸿蒙内核 cpu兼容,鸿蒙内核源码分析(CPU篇) | 整个内核就是一个死循环 | 祝新的一年牛气冲天 ! | v32.04...