搜索
首页后端开发Python教程Python中关于序列操作的实例代码分享

Python中关于序列操作的实例代码分享

Jul 22, 2017 pm 04:39 PM
python实例操作

这篇文章主要介绍了Python编程之序列操作,结合实例形式分析了Python序列的功能、相关函数与具体使用技巧,需要的朋友可以参考下

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


#coding=utf8
'''''
序列类型有着相同的访问模式:它的每一个元素可以通过指定一个偏移量的方式得到。
可以通过切片操作一次获得多个元素。
序列的下标偏移量是从0开始到总元素数减一结束。
标准类型操作符一般都能试用与所有的序列类型。
序列类型操作符:
---------------------------------------------------------------------------
序列操作符            作用
---------------------------------------------------------------------------
seq[ind]            获得下标为ind的元素
seq[ind1:ind2]       获得下标从ind1到ind2间的元素集合
seq * expr          序列重复expr次
seq1+seq2         连接序列seq1和seq2
obj 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) or
max(arg0,arg1....,key=None)     返回iter或(arg0,arg1,...)中的最大值,如果指定key,key必须是
                            一个可以传给sort()方法的,用于比较的回调函数
min(iter,key=None) or
min(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中关于序列操作的实例代码分享的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
学习Python:2小时的每日学习是否足够?学习Python:2小时的每日学习是否足够?Apr 18, 2025 am 12:22 AM

每天学习Python两个小时是否足够?这取决于你的目标和学习方法。1)制定清晰的学习计划,2)选择合适的学习资源和方法,3)动手实践和复习巩固,可以在这段时间内逐步掌握Python的基本知识和高级功能。

Web开发的Python:关键应用程序Web开发的Python:关键应用程序Apr 18, 2025 am 12:20 AM

Python在Web开发中的关键应用包括使用Django和Flask框架、API开发、数据分析与可视化、机器学习与AI、以及性能优化。1.Django和Flask框架:Django适合快速开发复杂应用,Flask适用于小型或高度自定义项目。2.API开发:使用Flask或DjangoRESTFramework构建RESTfulAPI。3.数据分析与可视化:利用Python处理数据并通过Web界面展示。4.机器学习与AI:Python用于构建智能Web应用。5.性能优化:通过异步编程、缓存和代码优

Python vs.C:探索性能和效率Python vs.C:探索性能和效率Apr 18, 2025 am 12:20 AM

Python在开发效率上优于C ,但C 在执行性能上更高。1.Python的简洁语法和丰富库提高开发效率。2.C 的编译型特性和硬件控制提升执行性能。选择时需根据项目需求权衡开发速度与执行效率。

python在行动中:现实世界中的例子python在行动中:现实世界中的例子Apr 18, 2025 am 12:18 AM

Python在现实世界中的应用包括数据分析、Web开发、人工智能和自动化。1)在数据分析中,Python使用Pandas和Matplotlib处理和可视化数据。2)Web开发中,Django和Flask框架简化了Web应用的创建。3)人工智能领域,TensorFlow和PyTorch用于构建和训练模型。4)自动化方面,Python脚本可用于复制文件等任务。

Python的主要用途:综合概述Python的主要用途:综合概述Apr 18, 2025 am 12:18 AM

Python在数据科学、Web开发和自动化脚本领域广泛应用。1)在数据科学中,Python通过NumPy、Pandas等库简化数据处理和分析。2)在Web开发中,Django和Flask框架使开发者能快速构建应用。3)在自动化脚本中,Python的简洁性和标准库使其成为理想选择。

Python的主要目的:灵活性和易用性Python的主要目的:灵活性和易用性Apr 17, 2025 am 12:14 AM

Python的灵活性体现在多范式支持和动态类型系统,易用性则源于语法简洁和丰富的标准库。1.灵活性:支持面向对象、函数式和过程式编程,动态类型系统提高开发效率。2.易用性:语法接近自然语言,标准库涵盖广泛功能,简化开发过程。

Python:多功能编程的力量Python:多功能编程的力量Apr 17, 2025 am 12:09 AM

Python因其简洁与强大而备受青睐,适用于从初学者到高级开发者的各种需求。其多功能性体现在:1)易学易用,语法简单;2)丰富的库和框架,如NumPy、Pandas等;3)跨平台支持,可在多种操作系统上运行;4)适合脚本和自动化任务,提升工作效率。

每天2小时学习Python:实用指南每天2小时学习Python:实用指南Apr 17, 2025 am 12:05 AM

可以,在每天花费两个小时的时间内学会Python。1.制定合理的学习计划,2.选择合适的学习资源,3.通过实践巩固所学知识,这些步骤能帮助你在短时间内掌握Python。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用