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 相关文章推荐
在类Unix系统上开始Python3编程入门
Aug 20 Python
详解用Python处理HTML转义字符的5种方式
Dec 27 Python
Flask解决跨域的问题示例代码
Feb 12 Python
浅谈关于Python3中venv虚拟环境
Aug 01 Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 Python
Python3 文章标题关键字提取的例子
Aug 26 Python
感知器基础原理及python实现过程详解
Sep 30 Python
keras获得某一层或者某层权重的输出实例
Jan 24 Python
python读取与处理netcdf数据方式
Feb 14 Python
Django中文件上传和文件访问微项目的方法
Apr 27 Python
一些关于python 装饰器的个人理解
Aug 31 Python
详解Python中list[::-1]的几种用法
Nov 16 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测试硬盘写入速度示例
2014/01/27 PHP
php+ajax实现文章自动保存的方法
2014/12/30 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
JavaScript原生对象之String对象的属性和方法详解
2015/03/13 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
Python程序中使用SQLAlchemy时出现乱码的解决方案
2015/04/24 Python
Python实现统计文本文件字数的方法
2017/05/05 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
Python基本语法之运算符功能与用法详解
2019/10/22 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
Linux如何命名文件--使用文件名时应注意
2012/01/22 面试题
发布会邀请函
2015/01/31 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
民间借贷被告代理词
2015/05/23 职场文书
中国合伙人观后感
2015/06/02 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android