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入门篇之条件、循环
Oct 17 Python
Python脚本实现网卡流量监控
Feb 14 Python
python使用fork实现守护进程的方法
Nov 16 Python
python中的字符串内部换行方法
Jul 19 Python
详解django中使用定时任务的方法
Sep 27 Python
python查看模块安装位置的方法
Oct 16 Python
python识别图像并提取文字的实现方法
Jun 28 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
Jul 30 Python
在pytorch中动态调整优化器的学习率方式
Jun 24 Python
Python自带的IDE在哪里
Jul 01 Python
pycharm 关闭search everywhere的解决操作
Jan 15 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
Apr 06 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设计模式 Proxy (代理模式)
2011/06/26 PHP
php程序的国际化实现方法(利用gettext)
2011/08/14 PHP
php 字符串替换的方法
2012/01/10 PHP
PHP中Array相关函数简介
2016/07/03 PHP
jquery 简单导航实现代码
2009/09/11 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
JavaScript获取/更改文本框的值的实例代码
2013/08/02 Javascript
JavaScript加强之自定义callback示例
2013/09/21 Javascript
js 针对html DOM元素操作等经验累积
2014/03/11 Javascript
网页广告中JS代码的信息监听示例
2014/04/02 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
[15:28]DOTA2 HEROS教学视频教你分分钟做大人-剧毒术士
2014/06/13 DOTA
python实现简单socket通信的方法
2016/04/19 Python
Python实现修改文件内容的方法分析
2018/03/25 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
python实现QQ批量登录功能
2019/06/19 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
python cv2截取不规则区域图片实例
2019/12/21 Python
Tensorflow 实现释放内存
2020/02/03 Python
python代码中怎么换行
2020/06/17 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
python-地图可视化组件folium的操作
2020/12/14 Python
北京SQL新华信咨询
2016/09/30 面试题
毕业实习个人鉴定范文
2013/12/10 职场文书
安全资料员岗位职责范本
2014/06/28 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/10/28 职场文书
公司财务管理制度
2015/08/04 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis
了解Redis常见应用场景
2021/06/23 Redis
win10频率超出范围怎么办?win10老显示超出工作频率范围的解决方法
2022/07/07 数码科技