Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)


Posted in Python onApril 18, 2018

让我们来看一个例子:

import numpy as np
x=np.array([[1,2,3],[5,6,7],[7,8,9]])
print(x)
Out[64]:
array([[1, 2, 3],
  [5, 6, 7],
  [7, 8, 9]])

以上的结果我想大家应该没问题把,就是定义了一个np数组,关键在下面

print(x[:,::-1])
Out[65]:
[[3 2 1]
 [7 6 5]
 [9 8 7]]

以上的代码实现了一种功能,就是将数组倒序排列了,每个维度上倒序,这段代码怎么理解呢,这是我在做深度学习风格迁移的时候遇到的一个问题,就是将图片的rgb变为bgr,然后看到别人写的代码,开始我想的是用transpose,transpose的讲解可以参考我的博客,这里不讲,但实际行不通,因为transpose是维度交换,然后我就想为什么可以用双冒号,看了会,我想通了,以下我来讲解:

x[:,::-1],这段代码,其实就是索引,第一个冒号(逗号之前的)很明显就是选择第一个维度的所有,也就是我们此处所有行,后面列上两个冒号,这样看,比如我们列表y=[1,2,3],y[:2]结果就是[1,2],也就是第一个冒号表示从第一个开始,那我们其实此处我们的逗号后面的第一个冒号也是从第一个开始,那第二个冒号呢,其实第二个冒号代表结束,y=[1,2,3],y[::]结果就是[1,2,3],那第三个参数是啥,其实第三个参数就是步长,步长不能为0,为-1代表逆序,如果为1,则代表全选,如果为2,代表隔一个取一个。

看以下代码:

x=np.array([[1,2,3],[5,6,7],[7,8,9]])
print(x)
print('------------')
print(x[:,::-1])
print('------------')
print(x[:,::1])
print('------------')
print(x[:,::2])
print('------------')
print(x[:,::3])
print('------------')
print(x[:,::666666])
x=np.array([[1,2,3],[5,6,7],[7,8,9]])
print(x)
print('------------')
print(x[:,::-1])
print('------------')
print(x[:,::1])
print('------------')
print(x[:,::2])
print('------------')
print(x[:,::3])
print('------------')
print(x[:,::666666])
[[1 2 3]
 [5 6 7]
 [7 8 9]]
------------
[[3 2 1]
 [7 6 5]
 [9 8 7]]
------------
[[1 2 3]
 [5 6 7]
 [7 8 9]]
------------
[[1 3]
 [5 7]
 [7 9]]
------------
[[1]
 [5]
 [7]]
------------
[[1]
 [5]
 [7]]

从上述代码就可以理解到,后面之所以x[:,::666666],取66666这么大,是为了说,从第一个开始,后面代表步长,66666这么大的步长也就只能取第一个了,其实步长从3开始就只能取到第一个了

以上用法对于列表也是一样的。

以上这篇Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python动态参数用法实例分析
May 25 Python
Python中绑定与未绑定的类方法用法分析
Apr 29 Python
python 与GO中操作slice,list的方式实例代码
Mar 20 Python
Python DataFrame设置/更改列表字段/元素类型的方法
Jun 09 Python
Python中的Django基本命令实例详解
Jul 15 Python
python使用knn实现特征向量分类
Dec 26 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
Aug 23 Python
python 导入数据及作图的实现
Dec 03 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
python操作toml文件的示例代码
Nov 27 Python
python 30行代码实现蚂蚁森林自动偷能量
Feb 08 Python
有趣的二维码:使用MyQR和qrcode来制作二维码
May 10 Python
浅谈numpy数组中冒号和负号的含义
Apr 18 #Python
对python numpy数组中冒号的使用方法详解
Apr 17 #Python
JavaScript实现一维数组转化为二维数组
Apr 17 #Python
对python 矩阵转置transpose的实例讲解
Apr 17 #Python
Numpy中转置transpose、T和swapaxes的实例讲解
Apr 17 #Python
解读python logging模块的使用方法
Apr 17 #Python
numpy中的高维数组转置实例
Apr 17 #Python
You might like
长波有什么东西
2021/03/01 无线电
php桌面中心(四) 数据显示
2007/03/11 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
2016/07/01 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
小程序自定义日历效果
2018/12/29 Javascript
element-ui 时间选择器限制范围的实现(随动)
2019/01/09 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
python使用PyQt5的简单方法
2019/02/27 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
荟萃全球保健品:维他购
2018/05/09 全球购物
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
精彩自我鉴定
2014/01/16 职场文书
小学优秀班主任材料
2014/12/17 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers