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中list循环语句用法实例
Nov 10 Python
Python类的用法实例浅析
May 27 Python
Python中文字符串截取问题
Jun 15 Python
浅谈tensorflow中几个随机函数的用法
Jul 27 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
详细介绍Python进度条tqdm的使用
Jul 31 Python
Python依赖包整体迁移方法详解
Aug 15 Python
在Python中使用filter去除列表中值为假及空字符串的例子
Nov 18 Python
python 实现快速生成连续、随机字母列表
Nov 28 Python
如何在Python对Excel进行读取
Jun 04 Python
Visual Studio code 配置Python开发环境
Sep 11 Python
python opencv通过4坐标剪裁图片
Jun 05 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使用者状态管理功能的应用
2006/10/09 PHP
基于PHP+MySQL的聊天室设计
2006/10/09 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
php利用array_search与array_column实现二维数组查找
2019/07/08 PHP
javascript IFrame 强制刷新代码
2009/07/23 Javascript
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
canvas实现绘制吃豆鱼效果
2017/01/12 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
2019/03/26 Javascript
深入了解js原型模式
2019/05/30 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
2014/11/06 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
django框架forms组件用法实例详解
2019/12/10 Python
如何用SQL语句进行模糊查找
2015/09/25 面试题
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
小学门卫岗位职责
2013/12/17 职场文书
教师党员公开承诺书
2014/03/25 职场文书
给校长的建议书600字
2014/05/15 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
离婚协议书的书写要求
2014/09/17 职场文书
董存瑞观后感
2015/06/11 职场文书