zoukankan      html  css  js  c++  java
  • Python高级特性学习笔记

    • 切片(slice)

    可简化循环取元素的操作。

    L[0:3] or L[:3] 表示从索引0的位置开始,到索引3为止,但不包括索引3的前3个元素(L[0],L[1],L[2]);

    L[-2:]表示取包括从倒数第二个元素开始到list最后一个元素;

    L[-2:-1] 表示取从倒数第二个元素开始到倒数第一个元素间的元素,不包括倒数第一个元素;

    L[::2] 表示每两个取一个元素;

    L[:] 表示复制一个list;

    str='ABC',则str[::-1]='CBA',从末至始截取字符串,即将字符串翻转。

    • 迭代(Iterable)

    python中可用for...in来循环的对象都是可迭代的,如str、list、tuple、dict等。

    可以用enumerate函数获取循环时的下标,如for i,value in enumerate(list);

    迭代dict的方式如下:

    迭代key:  for key in dic;

    迭代value: for value in dic.values();

    同时迭代key和value:for key,value in dic.items()。

    • 列表生成式(list Comprehensions)

    e.g [x*x for x in range(1,11)]  ->result [1,4,9,...,100]. 

    • 生成器(generator)

    两种产生生成器的方法:

    1.把列表生成式的[]改成(),e.g (x*x for x in range(1,11));

    2.在函数定义中写yield关键字.

    generator是Python中一边循环一边计算的机制,generator保存的是算法,用next(generator)获取下一个返回值;函数改成generator后,一般用for循环迭代generator,要获取函数中return的值,需用StopIteration的value来捕获返回值。

    • 迭代器(Iterator)

    迭代器均可以被next()函数调用并不断返回下一个值。

    list、str、dict不是迭代器,但可以用iter()函数把它们变成迭代器。

  • 相关阅读:
    Zookeeper中Watcher监听实现增删改
    Zookeeper
    pyspider爬豆瓣电影实例
    纵表与横表转换(实用)
    完善爬取糗百的段子
    为自己的爬虫更换代理和HTML头部
    我的第一个爬虫(爬取糗百的段子)
    django创建blog
    python-study-23
    python-study-22
  • 原文地址:https://www.cnblogs.com/nora/p/6008575.html
Copyright © 2011-2022 走看看