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 相关文章推荐
python3编写C/S网络程序实例教程
Aug 25 Python
使用Python实现下载网易云音乐的高清MV
Mar 16 Python
用Python设计一个经典小游戏
May 15 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
Dec 05 Python
Python开发网站目录扫描器的实现
Feb 21 Python
springboot配置文件抽离 git管理统 配置中心详解
Sep 02 Python
对Python中 \r, \n, \r\n的彻底理解
Mar 06 Python
浅谈python 中的 type(), dtype(), astype()的区别
Apr 09 Python
Django-simple-captcha验证码包使用方法详解
Nov 28 Python
Django用内置方法实现简单搜索功能的方法
Dec 18 Python
Python一些基本的图像操作和处理总结
Jun 23 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中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
2017/06/07 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
2019/10/15 PHP
jQuery.extend 函数详解
2012/02/03 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
JS获取当前时间的实例代码(昨天、今天、明天)
2018/11/13 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
通过npm或yarn自动生成vue组件的方法示例
2019/02/12 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
从零使用TypeScript开发项目打包发布到npm
2020/02/14 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
2020/08/27 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python与caffe改变通道顺序的方法
2018/08/04 Python
Python Sphinx使用实例及问题解决
2020/01/17 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
提高python代码运行效率的一些建议
2020/09/29 Python
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
聚美优品恶搞广告词
2014/03/14 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
工作检讨书500字
2014/10/19 职场文书
刑事法律意见书
2015/06/04 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书
实习员工转正的评语汇总,以备不时之需
2019/12/17 职场文书
常用的Python代码调试工具总结
2021/06/23 Python