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基于更相减损术实现求解最大公约数的方法
Apr 04 Python
linux下python使用sendmail发送邮件
May 22 Python
Flask框架WTForm表单用法示例
Jul 20 Python
python统计中文字符数量的两种方法
Jan 31 Python
python3使用matplotlib绘制散点图
Mar 19 Python
Python3.5基础之NumPy模块的使用图文与实例详解
Apr 24 Python
Django ModelForm组件使用方法详解
Jul 23 Python
python retrying模块的使用方法详解
Sep 25 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
Sep 28 Python
Python小整数对象池和字符串intern实例解析
Mar 21 Python
Python logging模块写入中文出现乱码
May 21 Python
python中append函数用法讲解
Dec 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
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
晋城吧对DiscuzX进行的前端优化要点
2010/09/05 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
有趣的JavaScript数组长度问题代码说明
2011/01/20 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
浅谈js控制li标签排序问题 js调用php函数的方法
2016/10/16 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
React中的refs的使用教程
2018/02/13 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
[03:11]DOTA2上海特锦赛小组赛第一日recap精彩回顾
2016/02/28 DOTA
python显示天气预报
2014/03/02 Python
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
Python计算已经过去多少个周末的方法
2015/07/25 Python
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
2019/06/08 Python
对DJango视图(views)和模版(templates)的使用详解
2019/07/17 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
大学毕业登记表自我鉴定
2013/10/09 职场文书
预备党员党校学习自我评价分享
2013/11/12 职场文书
销售会计工作职责
2013/12/02 职场文书
网络信息管理员岗位职责
2014/01/05 职场文书
校长寄语大全
2014/04/09 职场文书
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL
springboot中rabbitmq实现消息可靠性机制详解
2021/09/25 Java/Android