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之import机制详解
Jul 03 Python
Python的另外几种语言实现
Jan 29 Python
Python3读取文件常用方法实例分析
May 22 Python
基于进程内通讯的python聊天室实现方法
Jun 28 Python
Python爬虫获取图片并下载保存至本地的实例
Jun 01 Python
Python实现数据结构线性链表(单链表)算法示例
May 04 Python
pandas的连接函数concat()函数的具体使用方法
Jul 09 Python
Python处理session的方法整理
Aug 29 Python
python list数据等间隔抽取并新建list存储的例子
Nov 27 Python
Python为何不支持switch语句原理详解
Oct 21 Python
Pycharm中如何关掉python console
Oct 27 Python
python实现模拟器爬取抖音评论数据的示例代码
Jan 06 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.ini中文版(1)
2006/10/09 PHP
PHP一些有意思的小区别
2006/12/06 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
laravel框架与其他框架的详细对比
2019/10/23 PHP
js单向链表的具体实现实例
2013/06/21 Javascript
实现前后端数据交互方法汇总
2015/04/07 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
2015/08/22 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
domReady的实现案例
2016/11/23 Javascript
微信小程序 页面跳转如何实现传值
2017/04/05 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
详解Vue之计算属性
2020/06/20 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
python 自动提交和抓取网页
2009/07/13 Python
python encode和decode的妙用
2009/09/02 Python
在Python的Django框架中包装视图函数
2015/07/20 Python
利用Python进行异常值分析实例代码
2017/12/07 Python
Django 路由层URLconf的实现
2019/12/30 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
css 元素选择器的简单实例
2016/05/23 HTML / CSS
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
春季防火方案
2014/05/10 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
JavaScript实现优先级队列
2021/12/06 Javascript