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自动扫雷实现方法
Jul 25 Python
Python数据类型学习笔记
Jan 13 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
Jun 14 Python
Python中属性和描述符的正确使用
Aug 23 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
Oct 29 Python
Python简单过滤字母和数字的方法小结
Jan 09 Python
django创建最简单HTML页面跳转方法
Aug 16 Python
安装2019Pycharm最新版本的教程详解
Oct 22 Python
使用tensorflow DataSet实现高效加载变长文本输入
Jan 20 Python
浅谈JupyterNotebook导出pdf解决中文的问题
Apr 22 Python
OpenCV+python实现膨胀和腐蚀的示例
Dec 21 Python
python Scrapy爬虫框架的使用
Jan 21 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
第三章 php操作符与控制结构代码
2011/12/30 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
B/S模式项目中常用的javascript汇总
2013/12/17 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
JavaScript编程的10个实用小技巧
2014/04/18 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
jQuery固定元素插件scrolltofixed使用指南
2015/04/21 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
Vue中插入HTML代码的方法
2018/09/21 Javascript
npm scripts 使用指南详解
2018/10/08 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
2019/04/15 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
Python isinstance函数介绍
2015/04/14 Python
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
Python交互环境下实现输入代码
2018/06/22 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
运动会通讯稿500字
2014/02/20 职场文书
大学活动总结格式
2014/04/29 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书