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 11 Python
Python操作MongoDB数据库的方法示例
Jan 04 Python
Python实现的计算器功能示例
Apr 26 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
Jul 06 Python
对Python中画图时候的线类型详解
Jul 07 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 Python
python运用pygame库实现双人弹球小游戏
Nov 25 Python
使用python求解二次规划的问题
Feb 29 Python
Django admin 实现search_fields精确查询实例
Mar 30 Python
20行Python代码实现视频字符化功能
Apr 13 Python
python之随机数函数的实现示例
Dec 30 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的ASP防火墙
2006/10/09 PHP
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
javascript的函数作用域
2014/11/12 Javascript
解析javascript瀑布流原理实现图片滚动加载
2016/03/10 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
详解自定义ajax支持跨域组件封装
2018/02/08 Javascript
vue框架中props的typescript用法详解
2020/02/17 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
vue实现图片裁剪后上传
2020/12/16 Vue.js
Python对象体系深入分析
2014/10/28 Python
Python实现的简单文件传输服务器和客户端
2015/04/08 Python
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
一套SQL笔试题
2016/08/14 面试题
后勤自我鉴定
2013/10/13 职场文书
最新自我评价范文
2013/11/16 职场文书
销售人员自我评价
2014/02/01 职场文书
教师竞聘演讲稿
2014/05/16 职场文书
2014党员干部四风问题对照检查材料思想汇报
2014/09/24 职场文书
五年级学生期末评语
2014/12/26 职场文书
追悼词范文大全
2015/06/23 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
七年级思品教学反思
2016/02/20 职场文书
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS
SpringRetry重试框架的具体使用
2021/07/25 Java/Android
mysql自增长id用完了该怎么办
2022/02/12 MySQL
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers