美文网首页
2018-07-15 高级特性

2018-07-15 高级特性

作者: Tyon | 来源:发表于2018-07-15 17:52 被阅读0次

    切片

        list和tuple可使用切片,例如L[x:y]来获得第x到y-1的内容。

        有趣的是,字符串在python中也可以被视作一种list。

    迭代

    可以用 for key in d ,  for value in d.values() , for k,v in d.items() 来迭代dict中的 key value 或同时迭代二者,默认情况下迭代为key。使用enumerate函数可以将list变为索引-元素对,在迭代时可对二者同时进行调用。

    列表生成

        [x * x for x in range(1,11)]

        (MATLAB表示列表生成在座的各位都是垃圾)

    生成器和迭代器

    生成器

        生成器在循环过程中不断推算出后续内容,从而减小内存占用,生成器同样可以使用for.. in..调用。

        方法一,可以把列表生成中[]改为()获得。

        方法二,使用yield关键字生成。注意,在有yield的情况下,调用next时执行,遇到yield返回,再次执行时从上次返回的yield语句处继续。

    迭代器

        可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。生成器都是Iterator对象,但list、dict、str虽然是Iterable,却不是Iterator。把list、dict、str等Iterable变成Iterator可以使用iter()函数。

    相关文章

      网友评论

          本文标题:2018-07-15 高级特性

          本文链接:https://www.haomeiwen.com/subject/lysppftx.html