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清除字符串里非字母字符的方法
Jul 02 Python
简介二分查找算法与相关的Python实现示例
Aug 26 Python
实例解析Python设计模式编程之桥接模式的运用
Mar 02 Python
numpy返回array中元素的index方法
Jun 27 Python
用Python实现读写锁的示例代码
Nov 05 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
Jun 17 Python
Python中的self用法详解
Aug 06 Python
详解Python3 pickle模块用法
Sep 16 Python
使用python快速在局域网内搭建http传输文件服务的方法
Nov 14 Python
python定间隔取点(np.linspace)的实现
Nov 27 Python
pytorch常见的Tensor类型详解
Jan 15 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
May 22 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 强制下载文件实现代码
2013/10/28 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
PHP转换文本框内容为HTML格式的方法
2016/07/20 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
js null,undefined,字符串小结
2010/08/21 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
2019/06/09 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
[01:01:18]VP vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
初学Python实用技巧两则
2014/08/29 Python
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
python仿抖音表白神器
2019/04/08 Python
python生成器用法实例详解
2019/11/22 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
python openssl模块安装及用法
2020/12/06 Python
捷克街头、运动和滑板一站式商店:BoardStar.cz
2019/10/06 全球购物
装饰工程师岗位职责
2014/06/08 职场文书
学生会个人总结范文
2015/02/15 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
保送生自荐信
2015/03/06 职场文书
戒赌保证书
2015/05/11 职场文书
医院病假条范文
2015/08/17 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
table不让td文字溢出操作方法
2022/12/24 HTML / CSS