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使用cStringIO实现临时内存文件访问的方法
Mar 26 Python
python中argparse模块用法实例详解
Jun 03 Python
Python脚本实现虾米网签到功能
Apr 12 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
Dec 20 Python
python使用turtle库绘制树
Jun 25 Python
python如何创建TCP服务端和客户端
Aug 26 Python
Python使用random.shuffle()打乱列表顺序的方法
Nov 08 Python
python实现生成字符串大小写字母和数字的各种组合
Jan 01 Python
Win系统PyQt5安装和使用教程
Dec 25 Python
Python 实现国产SM3加密算法的示例代码
Sep 21 Python
Python Pandas知识点之缺失值处理详解
May 11 Python
python中对列表的删除和添加方法详解
Feb 24 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实现比较两个字符串日期大小的方法
2015/05/12 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
javascript dom追加内容实现示例
2013/09/21 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
js获取字符串最后一位方法汇总
2014/11/13 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
2015/04/06 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
微信小程序中form 表单提交和取值实例详解
2017/04/20 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
jQueryUI Sortable 应用Demo(分享)
2017/09/07 jQuery
Vue插件之滑动验证码用法详解
2020/04/05 Javascript
[40:12]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python中tell()方法的使用详解
2015/05/24 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
python开发利器之ulipad的使用实践
2017/03/16 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
Python常用的json标准库
2019/02/19 Python
基于python代码批量处理图片resize
2020/06/04 Python
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
25岁生日感言
2014/01/13 职场文书
工作表现自我评价
2014/02/08 职场文书
经理助理岗位职责
2014/03/05 职场文书
高一新生军训方案
2014/05/12 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书
Nginx利用Logrotate实现日志分割
2022/05/20 Servers