Python切片索引用法示例


Posted in Python onMay 15, 2018

本文实例讲述了Python切片索引用法。分享给大家供大家参考,具体如下:

在Python中,可以用用简单的方括号加一个下标的方式访问序列的每一个元素,这种方式称之为切片操作符,切片操作符有三种形式:

[][:][::]

访问某一数据元素的语法如下:

sequence[index]

sequence是序列的名字,index是访问元素的对应的偏移量,为正数,0<=index<=len(sequence)-1;使用负索引的时候,其范围为-len(sequence) <=index <= -1

由于Python是面向对象的,所以也可以通过在序列后直接加上一个索引进行访问,如下所以

print ('a','b','c','d')[2]

对于访问多个元素的情形

sequence[starting_index:ending_index]

下面就访问的几种方式进行举例说明:

sequence="abcdefgh"
print len(sequence)  #显示序列长度
print sequence    #打印完整序列
print sequence[:]
print sequence[2:3]  #切片显示,不指定步长默认为1,指定了步长(这里是setp为2)按照步长进行显示
print sequence[1:6:2]
print sequence[3]   #元素访问
print sequence[0:3]  #从首元素开始访问,访问区间为[0,3),左开you
print sequence[:3]
print sequence[2:8]  #从第二个元素一直访问到最后一个元素
print sequence[2:]
print sequence[::-1] #从最后一个元素开始访问,逆序访问,可以视为“翻转”操作
print max(sequence)
print min(sequence)
print sequence.index('c')

这里要注意的是重复操作符 *

sequence * copies_int

当需要一个序列的多个拷贝时,重复操作符就可以发挥作用了,copies_int 必须为整形

print sequence*3   #使用重复操作符

连接操作符 +

sequence1 + sequence2

允许使用 + 将两个相同类型的序列进行连接

print sequence + sequence

但注意看起来很方便,但是这种操作不是最快或者最有效地,对字符串来说,这个操作不如把所有子字符串放到一个列表中或者可迭代对象中,然后使用join()方法来把所有的内容连接在一起节约内存;而对于列表而言,推荐是哟个列表类型的extend()方法来把两个或者多个列表对象合并

str.join(sequence) #方法用于将序列中的元素以指定的字符连接生成一个新的字符串
str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );

输出为:

a-b-c

list.extend(seq)  #函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
aList = [123, 'xyz', 'zara', 'abc', 123];
bList = [2009, 'manni'];
aList.extend(bList)
print "Extended List : ", aList ;

输出为:

Extended List :  [123, 'xyz', 'zara', 'abc', 123, 2009, 'manni']

切片索引的语法要比简单的单一元素索引方法灵活很多,开始和结束索引值可以超过字符串的长度。即起始索引值可以小于0,而结束索引值可以大于序列的长度,如:

print ('Faye','Leanna','Daylen')[-100:100]

输出为:

('Faye', 'Leanna', 'Daylen')

如果有一个字符串,想通过循环按照这样的方式进行显示:每次都把位于最后的那一个字符砍掉,如何实现呢?

sequence = 'abcdef'
i = -1
for i in range(-1,-len(sequence),-1):
  print sequence[:i]

输出为:

abcde
abcd
abc
ab
a

发现没有显示第一个,即是没有显示完整的字符串,除开另外单独定义一个sequence[:0],这里使用None作为索引值

sequence = 'abcdef'
for i in [None] + range(-1,-len(sequence),-1):
  print sequence[:i]

输出为:

abcdef
abcde
abcd
abc
ab
a

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
理解Python垃圾回收机制
Feb 12 Python
老生常谈Python startswith()函数与endswith函数
Sep 08 Python
python的paramiko模块实现远程控制和传输示例
Oct 13 Python
django实现用户登陆功能详解
Dec 11 Python
PyQt5 QTableView设置某一列不可编辑的方法
Jun 25 Python
Python 微信爬虫完整实例【单线程与多线程】
Jul 06 Python
Django使用unittest模块进行单元测试过程解析
Aug 02 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
详解python uiautomator2 watcher的使用方法
Sep 09 Python
Keras自定义IOU方式
Jun 10 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
python3.9之你应该知道的新特性详解
Apr 29 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 #Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
May 15 #Python
Python实现的多项式拟合功能示例【基于matplotlib】
May 15 #Python
浅析PHP与Python进行数据交互
May 15 #Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
May 15 #Python
django自带的server 让外网主机访问方法
May 14 #Python
Python中利用xpath解析HTML的方法
May 14 #Python
You might like
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
PHP设计模式之组合模式定义与应用示例
2020/02/01 PHP
Js 中debug方式
2010/02/07 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
ajax java 实现自动完成功能
2012/12/19 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
js加强的经典分页实例
2013/03/15 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
jquery获取子节点和父节点的示例代码
2013/09/10 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
2016/02/29 Javascript
浅谈vue中数据双向绑定的实现原理
2017/09/14 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
2019/05/08 Javascript
Layui选项卡制作历史浏览记录的方法
2019/09/28 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
Python自动重试HTTP连接装饰器
2015/04/28 Python
用Python中的字典来处理索引统计的方法
2015/05/05 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
Python django实现简单的邮件系统发送邮件功能
2017/07/14 Python
人机交互程序 python实现人机对话
2017/11/14 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
python生成大写32位uuid代码
2020/03/03 Python
Django 返回json数据的实现示例
2020/03/05 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
后勤人员岗位职责
2013/12/17 职场文书
如何写好优秀的创业计划书
2014/01/30 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
于丹论语心得观后感
2015/06/15 职场文书
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server