您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

【Python】python 基础语法之列表、n维数组的变换(取反(逆序)\切片等)

5b51 2022/1/14 8:25:18 python 字数 3669 阅读 928 来源 www.jb51.cc/python

【笔记】 二维数组取反: 执行a[::-1],上下行交换。同样的看成一维数组的话,一行就是一个元素。

概述

【笔记】

二维数组取反:

一个元素。

<pre class="has">
a=np.arange(12).reshape(3,4)
a
array([[ 0,1,2,3],[ 4,5,6,7],[ 8,9,10,11]])
a[::-1]
array([[ 8,11],[ 0,3]])
a[:,::-1]
array([[ 3,0],[ 7,4],[11,8]])

=================================================

切记:a无论是列表还是numpy中n维数组a[::-1]均表示将a 的第一个方括号内的元素进行逆序。
列表如何逆向地访问值:
例如有一个list = [1,3,4,7,8] 访问从倒数第一位到倒数第三位怎么做到? 我想要的输出效果应该是[8,7]
使用切片就可以了: list[::-1][:3]
          list[-3:][::-1]

list[::-1]是将列表反过来,一种是先反过来,然后取前三位;一种是先取后三位,再反过来。

同理在python中n维数组的逆序也是这样:
执行a[::-1],上下两行交换了。同样的看成一维数组的话,一行就是一个元素,这个运算其实就是对一个一维数组内的元素前后对调。多维数组可以理解成对对第一个方括号内的每一个元素前后对调。

下面有人证实了:

分别进行图中所示的4种运算。

执行a[:-1],移除了后面的一行。对于一维数组,后面的一行其实就是最后一个元素,所以这个运算就是移除最后一个元素。

一个元素,这个运算其实就是对一个一维数组内的元素前后对调。多维数组可以理解成对对第一个方括号内的每一个元素前后对调。

执行a[:,::-1],每一行中的元素前后交换了。简单理解就是对第二层反括号内的元素前后对调。

执行a[:,:,::-1],这样就好理解了,肯定是对第三层方括号内的元素对调。这也就解释了,对于一个24位深度的图像执行这个操作的话,是对每个像素的RGB进行对调。

对于图像而言,a[::-1],a[:,::-1],a[:,::-1]上述的三种方法分别是X轴的镜像,Y轴的镜像,BGR转换为RGB的操作。
--------------------- 
作者:wonengguwozai 
来源:CSDN 
原文:https://blog.csdn.net/wonengguwozai/article/details/53357734 
版权声明:本文为博主原创文章,转载请附上博文链接

总结

以上是编程之家为你收集整理的【Python】python 基础语法之列表、n维数组的变换(取反(逆序)\切片等)全部内容,希望文章能够帮你解决【Python】python 基础语法之列表、n维数组的变换(取反(逆序)\切片等)所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶