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 with用法实例
Apr 14 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
Apr 25 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
Sep 18 Python
深入理解NumPy简明教程---数组3(组合)
Dec 17 Python
Python面向对象之继承代码详解
Jan 29 Python
Python线性拟合实现函数与用法示例
Dec 13 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
Jan 15 Python
Python Django 添加首页尾页上一页下一页代码实例
Aug 21 Python
python实现打砖块游戏
Feb 25 Python
Python气泡提示与标签的实现
Apr 01 Python
python基础详解之if循环语句
Apr 24 Python
只用20行Python代码实现屏幕录制功能
Jun 02 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
PHP 命令行参数详解及应用
2011/05/18 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
php 判断页面或图片是否经过gzip压缩的方法
2017/04/05 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
2013/06/28 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
2013/08/05 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
2015/05/06 Javascript
vue-loader教程介绍
2017/06/14 Javascript
AngularJS实现进度条功能示例
2017/07/05 Javascript
jQuery第一次运行页面默认触发点击事件的实例
2018/01/10 jQuery
修改npm全局安装模式的路径方法
2018/05/15 Javascript
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
vue抽出组件并传值实例
2020/07/31 Javascript
Vue Elenent实现表格相同数据列合并
2020/11/30 Vue.js
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
Python中random模块生成随机数详解
2016/03/10 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
利用Python实现朋友圈中的九宫格图片效果
2020/09/03 Python
使用CSS3实现圆角,阴影,透明
2014/12/23 HTML / CSS
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
萨克斯第五大道的折扣店:Saks Fifth Avenue OFF 5TH
2016/08/25 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
交通安全教育制度
2014/02/02 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
房屋租赁协议书
2014/10/18 职场文书
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
python实现简单石头剪刀布游戏
2021/10/24 Python
mysql函数全面总结
2021/11/11 MySQL
python图像处理 PIL Image操作实例
2022/04/09 Python
Java字符缓冲流BufferedWriter
2022/04/09 Java/Android
JS高级程序设计之class继承重点详解
2022/07/07 Javascript