侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Python编程之序列操作实例详解

Python  /  管理员 发布于 7年前   186

本文实例讲述了Python编程之序列操作。分享给大家供大家参考,具体如下:

#coding=utf8'''''序列类型有着相同的访问模式:它的每一个元素可以通过指定一个偏移量的方式得到。可以通过切片操作一次获得多个元素。序列的下标偏移量是从0开始到总元素数减一结束。标准类型操作符一般都能试用与所有的序列类型。序列类型操作符:---------------------------------------------------------------------------序列操作符作用---------------------------------------------------------------------------seq[ind]获得下标为ind的元素seq[ind1:ind2]       获得下标从ind1到ind2间的元素集合seq * expr          序列重复expr次seq1+seq2         连接序列seq1和seq2obj in seq         判断obj元素是否包含在seq中obj not in seq      判断obj元素是否不包含在seq中---------------------------------------------------------------------------切片操作符在Python中的原型是:[start:stop:step]即:[开始索引:结束索引:步长值]开始索引:同其它语言一样,从0开始。序列从左向右方向中,第一个值的索引为0,最后一个为-1结束索引:切片操作符将取到该索引为止,不包含该索引的值。步长值:默认是一个接着一个切取,如果为2,则表示进行隔一取一操作。步长值为正时表示从左向右取,如果为负,则表示从右向左取。步长值不能为0。切片索引的语法比简单的单一元素索引灵活的多。开始和结束索引值可以超过字符串的长度。函数原型:range(start, end, scan):参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);         end:计数到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5        scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)序列类型转换工厂函数:-----------------------------------------------------------------------------------------------------------------------函数    含义-----------------------------------------------------------------------------------------------------------------------list(iter)把可迭代对象转换为列表str(obj)把obj对象转换成字符串(对象的字符串表示法)unicode(obj)       把对象转换成Unicode字符串(使用默认编码)basestring()       抽象工厂函数,是str和unicode的父类,不能实例化不能调用tuple(iter)         把一个可迭代对象转换成一个元组对象-----------------------------------------------------------------------------------------------------------------------序列类型可用的内建函数:-----------------------------------------------------------------------------------------------------------------------函数名 功能-----------------------------------------------------------------------------------------------------------------------enumerate(iter)    接受可迭代对象作为参数,返回一个enumerate对象,该对象生成     由iter每个元素的index值和item值组成的元组。len(seq)          返回seq的长度max(iter,key=None) ormax(arg0,arg1....,key=None)     返回iter或(arg0,arg1,...)中的最大值,如果指定key,key必须是    一个可以传给sort()方法的,用于比较的回调函数min(iter,key=None) ormin(arg0,arg1....,key=None)     返回iter或(arg0,arg1,...)中的最小值,如果指定key,key必须是    一个可以传给sort()方法的,用于比较的回调函数reversed(seq)    接受一个序列作为参数,返回一个以逆序访问的迭代器sorted(iter,func=None,key=None,reverse=False)      接受一个可迭代对象作为参数,返回一个有序的列表;可选参数func,key   和reverse的含义跟list.sort()内建函数的参数含义一样。sum(seq,init=0)  返回seq和可选参数init的总和,其效果等同于reduce(operator.add,seq,init)zip([it0,it1,...itN])  返回一个列表,其第一个元素是it0,it1,...这些元素的第一个元素组成一个元组,   第二个...类推-----------------------------------------------------------------------------------------------------------------------'''class sequenceClass(object):  def __init__(self):    '''''定义个整数序列表'''    self.intSeq=[1,2,5,8,95,456,236,458,95,62,63,64,77]    '''''定义个浮点数序列表'''    self.floatSeq=[0.33,2.56,45.23,45.33,46.789,23.00]    '''''定义个字符串序列表'''    self.strSeq=["hello","double","floatNumer","ewang"]  #输出初始化序列内容  def outInitData(self):    print "初始化整数序列表:",self.intSeq    print "初始化浮点数序列表:",self.floatSeq    print "初始化字符串序列表:",self.strSeq  #使用序列类型操作符  def sequenceTypeOper(self):    #获取序列中第几个元素值,下表从0开始    print "整数列表第%d元素的值是%d " %(3,self.intSeq[2])    #获取序列中第几个到第几个的之间元素的集合(从左向右)    print "浮点列表%d--%d之间元素列表:%r" %(1,5,self.floatSeq[1:5])    #倒数%d---%d之间的数据集合(从右向左)    print  "浮点列表%d--%d之间元素列表:%r" %(-1,-5,self.floatSeq[-5:-1])    #使用切片对序列逆序    print "输出逆序的字符串序列:",self.strSeq[::-1]    #使用切片获取奇数位数据列表    print "输出整数列表奇数数位元素列表:" ,self.intSeq[::2]    #使用切片获取偶数位数据列表    print "输出整数列表偶数位元素列表:",self.intSeq[1:-1:2]    #序列重复2次    print "字符串序列重复2次并输出:",self.strSeq*2    #连接整数序列和浮点数序列    print "连接整数序列和浮点数序列",self.intSeq+self.floatSeq    #判断某个元素会否包含在序列中    if 5 in self.intSeq:      print "输出序列intSeq:",self.intSeq    #判断某个元素不包含在序列中    if "home" not in self.strSeq:      print "输出序列strSeq:",self.strSeq  def sliceIndexUse(self):    #切片索引的开始和结束索引值可以超过序列的长度    print "输出strSeq序列:",self.intSeq[-100:100]    #使用range函数操作字符串    #每次都把位于最后一个字符删掉    #无法输出str这个字符串    ind=-1    strg=self.strSeq[2]    print "要操作的字符串(strg)是 :",strg    for ind in range(-1,-len(strg),-1):      print strg[:ind],    #使用None作为索引值,可以从第一个遍历到最后一个元素    s=self.strSeq[-1]    print "\n要操作的字符串(s)是 :",s    for i in [None]+range(-1,-len(s),-1):      print s[:i],  def useTypeConver(self):    iterObj="hello ewang"    inter=45454    print "\n使用类型转换函数前的iterObj类型 :",type(iterObj)    print "使用类型转换函数前的inter类型 :",type(inter)    #使用list类型转换函数    print "使用list转换函数后的变量类型:",type(list(iterObj))    #使用str把对象转换为字符串类型    print "使用str函数把变量inter转换为字符串类型:",type(str(inter))    #使用unicode函数转换为Unicode字符串    print "使用unicode函数把变量iterObj转换为Unicode类型:",type(str(iterObj))    #使用tuple函数转换为一个元组对象    print "使用tuple函数把变量iterObj转换为元组类型:",type(tuple(iterObj))  def useSequencBIF(self):    #调用enumerate内建函数    print "使用enumerate函数:",enumerate(self.strSeq)    #调用len函数    print "使用len函数:",len(self.strSeq)    #调用max求最大值    print "使用max函数求序列的最大值:",max(self.intSeq)    print "使用max函数求参数的最大值:",max(1,2,5,8,95,456)    #调用min求最小值    print "使用min函数求序列的最小值:",min(self.floatSeq)    print "使用min函数求参数的最小值:",min(0.33,2.56,45.23)    #调用reversed函数对序列进行逆序    print "使用reversed函数对序列intSeq逆序:",reversed(self.intSeq)    #调用sorted函数对序列进行排序    print "调用sorted函数对序列strSeq进行排序:",sorted(self.strSeq)    #调用sum对序列进行求和    print "调用sum函数对序列intSeq进行求和",sum(self.intSeq)    #调用zip返回一个元组列表    print "调用zip函数对list操作返回一个元组列表:",zip(self.strSeq,self.strSeq)  def run(self):    self.outInitData()    self.sequenceTypeOper()    self.sliceIndexUse()    self.useTypeConver()    self.useSequencBIF()def test():  #创建一个对象实例  seq=sequenceClass()  seq.run()if __name__=="__main__":  test()

运行结果:

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。


  • 上一条:
    Python编程之string相关操作实例详解
    下一条:
    Python实现登录接口的示例代码
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
    • 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客