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实现在Linux系统下更改当前进程运行用户
Feb 04 Python
Python和C/C++交互的几种方法总结
May 11 Python
Python 实现购物商城,含有用户入口和商家入口的示例
Sep 15 Python
Python爬虫实战之12306抢票开源
Jan 24 Python
python3发送request请求及查看返回结果实例
Apr 30 Python
5行Python代码实现图像分割的步骤详解
May 25 Python
Python可以实现栈的结构吗
May 27 Python
Python2.6版本pip安装步骤解析
Aug 17 Python
python实现ping命令小程序
Dec 28 Python
python glom模块的使用简介
Apr 13 Python
基于Python实现流星雨效果的绘制
Mar 18 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
Sep 23 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循环跳出的问题
2013/07/01 PHP
PHP中把stdClass Object转array的几个方法
2014/05/08 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
jquery事件机制扩展插件 jquery鼠标右键事件
2011/12/21 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
Jquery 获取对象的几种方式介绍
2014/01/17 Javascript
JS解析XML实例分析
2015/01/30 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
jQuery实现两列等高并自适应高度
2016/12/22 Javascript
JS中Array数组学习总结
2017/01/18 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
layui 弹出删除确认界面的实例
2019/09/06 Javascript
js实现简单的倒计时
2021/01/28 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
python3使用smtplib实现发送邮件功能
2018/05/22 Python
Python 面向对象之类class和对象基本用法示例
2020/02/02 Python
Python基于read(size)方法读取超大文件
2020/03/12 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
交通法规咨询中心工作职责
2013/11/27 职场文书
《鸿门宴》教学反思
2014/04/22 职场文书
关于童年的读书笔记
2015/06/26 职场文书
大学生先进个人主要事迹材料
2015/11/04 职场文书
MYSQL如何查看操作日志详解
2022/05/30 MySQL
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers
MySQL 语句执行顺序举例解析
2022/06/05 MySQL