• 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()函数把它们变成迭代器。

  • 相关阅读:
    JQuery empty方法和remove方法的区别,使用remove清除之前的文本内容??
    乙_1023 组个最小数 (20分)
    乙_1022 D进制的A+B (20分)
    乙_1021 个位数统计 (15分)
    乙_1020 月饼 (25分)
    乙_1013 数素数 (20分)
    乙_1009 说反话 (20分)
    乙_1008 数组元素循环右移问题 (20分)
    乙_1007 素数对猜想 (20分)
    乙_1005 继续(3n+1)猜想 (25分)
  • 原文地址:https://www.cnblogs.com/nora/p/6008575.html
Copyright © 2020-2023  润新知