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 相关文章推荐
使用graphics.py实现2048小游戏
Mar 10 Python
操作Windows注册表的简单的Python程序制作教程
Apr 07 Python
Python with用法实例
Apr 14 Python
Python中max函数用法实例分析
Jul 17 Python
Python中取整的几种方法小结
Jan 06 Python
Python中defaultdict与lambda表达式用法实例小结
Apr 09 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
Aug 14 Python
python实现输出一个序列的所有子序列示例
Nov 18 Python
Java多线程实现四种方式原理详解
Jun 02 Python
Python闭包及装饰器运行原理解析
Jun 17 Python
深入了解Python enumerate和zip
Jul 16 Python
降低python版本的操作方法
Sep 11 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 对象继承原理与简单用法示例
2020/04/21 PHP
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
文本框只能选择数据到文本框禁止手动输入
2013/11/22 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
2016/10/10 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
记一次webpack3升级webpack4的踩坑经历
2018/06/12 Javascript
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
javascript导出csv文件(excel)的方法示例
2019/08/25 Javascript
python3生成随机数实例
2014/10/20 Python
Python中异常重试的解决方案详解
2017/05/05 Python
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
python的dict判断key是否存在的方法
2020/12/09 Python
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
如何将字串String转换成整数int
2015/02/21 面试题
函授教育个人学习的自我评价
2013/12/31 职场文书
市三好学生主要事迹
2014/01/28 职场文书
小学中秋节活动方案
2014/02/06 职场文书
迁户口计划生育证明
2014/10/19 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书
汉语拼音教学反思
2016/02/22 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS
MySQL数据库10秒内插入百万条数据的实现
2021/11/01 MySQL
Golang连接并操作MySQL
2022/04/14 MySQL
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电