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通过pil为png图片填充上背景颜色的方法
Mar 17 Python
Python简单计算文件夹大小的方法
Jul 14 Python
python3使用urllib模块制作网络爬虫
Apr 08 Python
深入理解NumPy简明教程---数组1
Dec 17 Python
python读取一个目录下所有txt里面的内容方法
Jun 23 Python
Python功能点实现:函数级/代码块级计时器
Jan 02 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
Jan 08 Python
Python爬取爱奇艺电影信息代码实例
Nov 26 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
python多线程实现同时执行两个while循环的操作
May 02 Python
Django设置Postgresql的操作
May 14 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
Nov 18 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基础学习笔记
2007/03/18 PHP
php递归列出所有文件和目录的代码
2008/09/10 PHP
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
php rsa加密解密使用详解
2015/01/14 PHP
php自定义函数转换html标签示例
2016/09/29 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
JS中toFixed()方法引起的问题如何解决
2012/11/20 Javascript
JavaScript闭包详解
2015/02/02 Javascript
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
2018/11/27 Javascript
JSON的parse()方法介绍
2019/01/31 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
2019/09/23 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
Python设计模式编程中解释器模式的简单程序示例分享
2016/03/02 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
运动会演讲稿100字
2014/08/25 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
django 认证类配置实现
2021/11/11 Python
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫
vue+iview实现手机号分段输入框
2022/03/25 Vue.js
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏