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的urllib库提交WEB表单
Feb 24 Python
python发送邮件的实例代码(支持html、图片、附件)
Mar 04 Python
Python实现CET查分的方法
Mar 10 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
Jan 20 Python
Python 打印中文字符的三种方法
Aug 14 Python
python实现图片筛选程序
Oct 24 Python
python控制nao机器人身体动作实例详解
Apr 29 Python
在Django model中设置多个字段联合唯一约束的实例
Jul 17 Python
python nmap实现端口扫描器教程
May 28 Python
python实现在内存中读写str和二进制数据代码
Apr 24 Python
Keras实现将两个模型连接到一起
May 23 Python
python 最简单的实现适配器设计模式的示例
Jun 30 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
解析dedeCMS验证码的实现代码
2013/06/07 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
使用js 设置url参数
2013/07/08 Javascript
js去除空格的12种实用方法
2013/11/08 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
javascript中关于&& 和 || 表达式的小技巧分享
2015/04/10 Javascript
angular.bind使用心得
2015/10/26 Javascript
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
详解angular element()方法使用
2017/04/08 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
2017/09/02 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
Python break语句详解
2014/03/11 Python
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
python清除函数占用的内存方法
2018/06/25 Python
Python逐行读取文件内容的方法总结
2020/02/14 Python
HTML5 通过Vedio标签实现视频循环播放的示例代码
2020/08/05 HTML / CSS
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
教师对照四风自我剖析材料
2014/09/30 职场文书
党员个人剖析材料
2014/09/30 职场文书
金砖之国观后感
2015/06/11 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
病假条格式范文
2015/08/17 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
协议书格式模板
2016/03/24 职场文书
详解MySQL 联合查询优化机制
2021/05/10 MySQL