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模块学习 filecmp 文件比较
Aug 27 Python
python 字典(dict)遍历的四种方法性能测试报告
Jun 25 Python
跟老齐学Python之传说中的函数编写条规
Oct 11 Python
python遍历目录的方法小结
Apr 28 Python
Python实现的密码强度检测器示例
Aug 23 Python
Django查询数据库的性能优化示例代码
Sep 24 Python
解决Python字典写入文件出行首行有空格的问题
Sep 27 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
Jul 15 Python
python线程中的同步问题及解决方法
Aug 29 Python
Python文件操作函数用法实例详解
Dec 24 Python
Python标准库shutil模块使用方法解析
Mar 10 Python
Python使用scapy模块发包收包
May 07 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
星际实力自我测试
2020/03/04 星际争霸
php 购物车完整实现代码
2014/06/05 PHP
ThinkPHP中where()使用方法详解
2016/04/19 PHP
功能强大的php分页函数
2016/07/20 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
PHP中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
Laravel框架实现多个视图共享相同数据的方法详解
2019/07/09 PHP
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
2013/08/19 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
JavaScript实现的超简单计算器功能示例
2017/12/23 Javascript
微信小程序实现传参数的几种方法示例
2018/01/10 Javascript
详解vue+webpack+express中间件接口使用
2018/07/17 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
连接Python程序与MySQL的教程
2015/04/29 Python
Python机器学习之决策树算法
2017/12/22 Python
Python3标准库总结
2019/02/19 Python
Python中输入和输出(打印)数据实例方法
2019/10/13 Python
浅谈Python类中的self到底是干啥的
2019/11/11 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
简述 Python 的类和对象
2020/08/21 Python
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
三提三创主题教育活动查摆整改措施
2014/10/25 职场文书
工作表扬信范文
2015/01/17 职场文书
三方合作意向书范本
2015/05/09 职场文书
销售口号霸气押韵
2015/12/24 职场文书
大学军训心得体会800字
2016/01/11 职场文书
同学会演讲稿
2019/04/02 职场文书