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发送邮件接收邮件示例分享
Jan 21 Python
Python中的高级函数map/reduce使用实例
Apr 13 Python
Python的Tornado框架异步编程入门实例
Apr 24 Python
对python中的for循环和range内置函数详解
Apr 17 Python
python人民币小写转大写辅助工具
Jun 20 Python
python机器学习之KNN分类算法
Aug 29 Python
Pycharm+Python+PyQt5使用详解
Sep 25 Python
详解pyinstaller selenium python3 chrome打包问题
Oct 18 Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 Python
基于python实现matlab filter函数过程详解
Jun 08 Python
Python sklearn中的.fit与.predict的用法说明
Jun 28 Python
用Python开发app后端有优势吗
Jun 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专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
2010/11/28 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
2016/10/05 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
Angular.js中处理页面闪烁的方法详解
2017/03/09 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
SpringMVC简单整合Angular2的示例
2017/07/31 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
python列表操作之extend和append的区别实例分析
2015/07/28 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
Python爬虫获取整个站点中的所有外部链接代码示例
2017/12/26 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
python中break、continue 、exit() 、pass终止循环的区别详解
2019/07/08 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
综合素质的自我鉴定
2013/10/07 职场文书
医院检讨书范文
2014/02/01 职场文书
行政人事经理职位说明书
2014/03/05 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
python代码实现备忘录案例讲解
2021/07/26 Python
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫