• python第四天高级特性


    切片操作 :如何取前三个元素,通过循环?可以通过切片操作

    L[0:3],其中第一个参数表示切片的开始元素;第二个参数表示取到第几个元素结束;第三个参数表示取值时的跳跃间隔。

      

     倒数切片:L[-2:]输出的是 8,9

    tuple和list一样具有切片操作特性,字符串也是一种list,因此字符串也可以进行切片,只是操作的结果是字符串

    迭代:只要是可迭代对象,不管它是list还是tuple集合

    dict集合的迭代

             1.key迭代   

               

                  2.value迭代

               

              3.key和value一起迭代 

              

        判断一个对象是否可以迭代?通过collections模块的Iterable类型判断

        

       如果要对list实现类似java的下标循环怎么办,python内置的enumerate函数把一个list变成索引-元素对

        

     列表生成式

          一行语句生成list集合

              

    使用两层循环,可以生成全排列

    生成器:在循环中不断的推算出后续元素,不需要创建完整的list。一边循环一边计算的机制叫做生成器。

       创建一个生成器,有很多方法。第一种只要把列表生成式的[]改成(),就创建一个generator;

           1.如果一个一个打印出来,可以通过next()函数获得generator的下一个返回值:每次调用next(g)就计算出g的下一个元素的值,直到ji最后一个元素,没有更多元素时,抛出stopIteration的错误。

          2.直接for循环,因为generator对象是可迭代的。

               

        第二种生成generator的方法,只要一个函数定义中包含yield关键字,那就不是普通函数。而是generator

        

           generator和函数的执行流程不一样,函数是顺序执行,而generator函数,在每次调用next()的时候执行,遇到yield语句返回。

    再次执行时从上一次返回的yield语句处继续执行。如果想拿到generator的return语句的返回值,必须捕获StopIteration错误,返回值包含在StopIteration的value中。

     迭代器:可以被next()函数调用并不断返回下一个值的对象成为迭代器,Iterationlist ,str ,tuple,生成器都是可迭代的Iterable,isinstance([],Iterable)是true,但是生成器是Iteration对象,而list,str,tuple则不是Iteration对象。isinstance([],Interation)是false、

    list,str,tuple可以通过iter()函数变成Iteration对象 isinstance(iter([]),Iteration)值为true

  • 相关阅读:
    mplayer命令行模式下的使用方法
    CentOS安装wireshark
    CentOS查看系统信息
    测试理论1
    单例模式
    接口测试
    rabbitmq
    redis数据库
    时间模块
    charles抓取数据
  • 原文地址:https://www.cnblogs.com/09120912zhang/p/7544945.html
Copyright © 2020-2023  润新知