Python切片
切片是啥, 可以吃么
嘛,所谓切片故名思意就有选取的意思啦, 跟java里面的subString()意思差不多, 从原始的字符串中按规则提取出新的字符串
切片肿么用哈
切片的用法很简单, 可以提取一个list或者tuple的部分元素, 比如,一个list如下:
L = ["miaomiao", "wangwang", "miemie", "aoao"]
我们现在要取前面两个:
L[0:2]
输出: ["miaomao", "wangwang]
如果第一个索引是0, 辣么也是可以省略的啦, L[:2]效果一样
其他的类似, 第一个索引是开始位置(0开始), 第二个索引表示结束位置但是不包括索引所在位置的元素,也就是第二个索引表示的位置的前一个元素的位置。
* 这里截取的方向是从左到右, 也就是如果第一个索引处向右如果没有遇到第二个索引表示的位置,辣么截取的就是空的,比如L[2: 1], 输出[]
我们知道python有个很人性的设定, 列表或者负数的下表从-1开始依次代表最后一个元素, 依次类推,不要迷糊哦,这里只是一种表示位置的写法,比如L[1: -1], 第二个索引-1代表的是倒数第一个元素的前一个元素, 所以这里的结果是:["wangwang", "miemie], 这个结果和L[-3:-1]一样的
L[1:]表示从位置1开始以后的所有元素
L[:-2] 表示直到倒数第三个位置的所有元素
*如果下表表示位置越界了, python会自动处理(越界部分不显示, 输出合法部分的信息)
还可以有第三个索引的写法, 不过第三个索引表示的前两个索引规则的方向以及表示的字符串格多少个街区
这里所谓的方向是指:
1从第一个索引所在的位置,是向正方向出发匹配索引二,还是从父方向匹配索引二
2第二个索引表示的位置是第二个索引的左边还是右边的那个元素, 如果是正方向,这里表示左边的那个元素,负方向表示右边的那个元素
嘛, 上面说的从左到右就是正方向的一种说法, 数学里面的一维坐标表示法
比如:
L[-1: -4: -2]
这里第三个所以为负, 所以方向是负的, 第一个索引表示的位置是倒数第一个, 从负方向出发找第二个索引表示的位置, 第二个索引是-4, 方向是负的,所以表示的是倒数第4个元素负方向也就是倒数第3个元素。
结果是:['aoao', 'wangwang']
辣么长,记不住
不管索引是正是否, 首先根据第三个索引判断方向, 如果没有第三个索引,那么默认是正向, 接着判断第一个索引表示的位置, 然后判断第二个索引表示的位置,但是第二个索引的位置没有被包含,如果是正向,辣么表示左边的元素, 负向表示右边的元素, 确定第二个索引的位置后, 根据方向判断是从第一个索引表示的位置的左边出发还是右边出发,没有遇到第二个索引表示的位置,辣么就是空的, 否则结果就是这些元素啦, 最后根据第三个索引的值隔着取就好了,默认是1
Python切片的更多相关文章
- 关于javascript里面仿python切片操作数组的使用方法
其实在使用了好一段时间的 python之后,我觉得最让我念念不忘的并不是python每次在写函数或者循环的时候可以少用{}括号这样的东西(ps:其实也是了..感觉很清爽,而且又开始写js的时候老是想用 ...
- 流畅的Python——切片
2.4 切片 在 Python 里,像列表(list).元组(tuple)和字符串(str)这类序列类型都支持切片操作,但是实际上切片操作比人们所想象的要强大很多. 在我个人的使用经历来看,在算法实践 ...
- Python切片(入门7)
转载请标明出处: http://www.cnblogs.com/why168888/p/6407977.html 本文出自:[Edwin博客园] Python切片 1. 对list进行切片 L = r ...
- 彻底搞懂Python切片操作
在利用Python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器.理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任 ...
- python 切片步长
python切片 切片:list变量[值下标:结束值下标] 什么意思呢? 就是获取 list中 下标从定义的位置开始获取数据到 自定义的下标位置结束, 但是切片有个规矩就是顾头不顾尾, 举个例子 ...
- 关于python切片操作笔记
一. Python可切片对象的索引方式 包括:正索引和负索引两部分,如下图所示,以a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例: python索引方式.jpg 二. P ...
- 详解Python 切片语法
Python的切片是特别常用的功能,主要用于对列表的元素取值.这篇文章主要介绍了详解Python 切片语法,需要的朋友可以参考下 Python的切片是特别常用的功能,主要用于对列表的元素取值.使用切片 ...
- 深入理解Python切片
Python序列的切片很基础同时也很重要,最近看到一个[::-1]的表达,不明所以,查了一些资料并实际操作,对Python切片有了更深刻的认识,以下结合例子详细说明.先看下切片的基本语法,一般认为切片 ...
- python 切片
本人的博客中的python内容基本上全是看着廖雪峰大神博客做的一个笔记 关于列表或者元祖的切片 下面说一下列表的切片的语法: L[起始位置:结束位置:步长] number = range(100) n ...
随机推荐
- Javascript数组函数库
其实平时用的比较多的应该是push和pop,不过还是都记下来,以便后面使用. shift :删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4 ...
- VBS实现定时发送邮件
原理:建立CDO.Message对象,设置好参数后直接Send就可以了 代码如下: NameSpace = "http://schemas.microsoft.com/cdo/configu ...
- 【转载】 Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
Android下拉刷新pullToRefreshListViewGridView 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/3 ...
- Support Vector Machine (2) : Sequential Minimal Optimization
目录 Support Vector Machine (1) : 简单SVM原理 Support Vector Machine (2) : Sequential Minimal Optimization ...
- Web应用程序项目XX已配置为使用IIS
今天在看开源项目Umbraco是,出现一个项目加载不了,并报如下错误: Web应用程序项目Umbraco.Cms.Web.UI已配置为使用IIS.若要访问本地IIS网站,必须安装下列IIS组件..,如 ...
- hadoop-2.2.0 的编译安装及HA配置
一 准备工作 准备工作中要求有 1.centOs 6.4,添加hadoop用户,配置集群内的/etc/hosts文件. 2.安装hadoop用户的ssh,并打通集群内所有机器,(ha执行fencing ...
- C#中Invoke 和 BeginInvoke 的区别
Control.Invoke 方法 (Delegate) :在拥有此控件的基础窗口句柄的线程上执行指定的委托. Control.BeginInvoke 方法 (Delegate) :在创建控件的基础句 ...
- centos 安装 svn
1: yum 安装 svn yum install -y subversion 2验证是否安装完成 svnserve –version svnserve, version 1.6.11 (r9344 ...
- Sql 触发器禁用和启用
--启用or禁用指定表所有外键约束 alter table tbname NOCHECK constraint all alter table tbname CHECK constraint all ...
- chrome调试hove等类似事件
前台开发过程中经常会用chrome调试代码.但是有的时候,hover或者js控制的属性显示不全 解决办法有两种: 1.根据chrome版本不一样(检查两个字)可能会有所差别 2.图中有标记