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 相关文章推荐
kNN算法python实现和简单数字识别的方法
Nov 18 Python
python开发之tkinter实现图形随鼠标移动的方法
Nov 11 Python
python访问mysql数据库的实现方法(2则示例)
Jan 06 Python
用Python进行简单图像识别(验证码)
Jan 19 Python
详解Python最长公共子串和最长公共子序列的实现
Jul 07 Python
python+opencv实现高斯平滑滤波
Jul 21 Python
python实现五子棋小程序
Jun 18 Python
python画图的函数用法以及技巧
Jun 28 Python
python序列化与数据持久化实例详解
Dec 20 Python
python小技巧——将变量保存在本地及读取
Nov 13 Python
Python监听键盘和鼠标事件的示例代码
Nov 18 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
Dec 03 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设计模式 Prototype (原型模式)代码
2011/06/26 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
JS实现图片预加载之无序预加载功能代码
2017/05/12 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
2017/07/18 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
Vue 获取数组键名的方法
2018/06/21 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
Python实现TCP通信的示例代码
2019/09/09 Python
Python如何实现强制数据类型转换
2019/11/22 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
python opencv肤色检测的实现示例
2020/12/21 Python
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
怎样让char类型的东西转换成int类型
2013/12/09 面试题
高三自我鉴定
2013/10/23 职场文书
机关单位动员会主持词
2014/03/20 职场文书
综合实践活动总结
2014/05/05 职场文书
珍惜资源的建议书
2014/08/26 职场文书
2014年教师工作总结
2014/11/10 职场文书
爱心捐赠活动简讯
2015/07/20 职场文书
高一化学教学反思
2016/02/22 职场文书
HTML基础详解(下)
2021/10/16 HTML / CSS