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 24 Python
Python xlrd读取excel日期类型的2种方法
Apr 28 Python
Python实现修改文件内容的方法分析
Mar 25 Python
Python中循环后使用list.append()数据被覆盖问题的解决
Jul 01 Python
python对于requests的封装方法详解
Jan 03 Python
详解Python给照片换底色(蓝底换红底)
Mar 22 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
Apr 29 Python
python文件绝对路径写法介绍(windows)
Dec 25 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
解决Keras使用GPU资源耗尽的问题
Jun 22 Python
python中Matplotlib绘制直线的实例代码
Jul 04 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类
2006/11/25 PHP
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
浅析php-fpm静态和动态执行方式的比较
2016/11/09 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
Prototype使用指南之string.js
2007/01/10 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
json数据的列循环示例
2013/09/06 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
浅谈React中组件逻辑复用的那些事儿
2020/05/21 Javascript
Python函数的周期性执行实现方法
2016/08/13 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
python实现自主查询实时天气
2018/06/22 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
django自带调试服务器的使用详解
2019/08/29 Python
python基于FTP实现文件传输相关功能代码实例
2019/09/28 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
基于python plotly交互式图表大全
2019/12/07 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
python 爬虫请求模块requests详解
2020/12/04 Python
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
美国折扣香水网站:The Perfume Spot
2020/12/12 全球购物
Solaris操作系统的线程机制
2012/12/23 面试题
超市重阳节活动方案
2014/02/10 职场文书
高三教师工作总结2015
2015/07/21 职场文书
全民创业工作总结
2015/08/13 职场文书