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的random模块及加权随机算法的python实现方法
Jan 04 Python
简单谈谈python中的语句和语法
Aug 10 Python
Python Nose框架编写测试用例方法
Oct 26 Python
numpy.random.shuffle打乱顺序函数的实现
Sep 10 Python
python基于TCP实现的文件下载器功能案例
Dec 10 Python
python dict乱码如何解决
Jun 07 Python
python3.x中安装web.py步骤方法
Jun 23 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
Jul 13 Python
浅析Python迭代器的高级用法
Jul 16 Python
django下创建多个app并设置urls方法
Aug 02 Python
用python写PDF转换器的实现
Oct 29 Python
MoviePy简介及Python视频剪辑自动化
Dec 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
input file获得文件根目录简单实现
2013/04/26 PHP
PHP运行模式的深入理解
2013/06/03 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
推荐几个开源的微信开发项目
2014/12/28 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
PHP使用ActiveMQ实例
2018/02/05 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
2019/10/21 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
JS的Document属性和方法小结
2013/09/17 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
Angular 容器部署的方法
2018/04/17 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
Python 将pdf转成图片的方法
2018/04/23 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
与Django结合利用模型对上传图片预测的实例详解
2019/08/07 Python
python 爬取英雄联盟皮肤并下载的示例
2020/12/04 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
2021/02/24 HTML / CSS
Canvas制作的下雨动画的示例
2018/03/06 HTML / CSS
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
中科软测试工程师面试题
2012/06/16 面试题
学雷锋志愿服务月活动总结
2014/03/09 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
目标责任书格式范文
2015/05/11 职场文书