python(二)

python高级特性

(一)切片

  仅出现在list和tuple中,变量名[起始下标:结束下标:步长]:

        1.默认第一个下标为0,默认最后一个是list最后一个元素;

        2.支持下标为负数,-1表示倒数第一个元素;

        3.结束下标,表示到该元素为止,不包括该元素;

        4.步长表示间隔多少位取,可以为负数,表示逆序取。

(二)迭代

  就是通过for ...in来循环遍历list、tuple,和字符串。

(三)列表生成式

  与list()的作用相同,目的是生成一个list。

  形式是:[ f(x) for x in range()/其他list/dict字典 ]

      注:f(x)为生成表达式,x也可以为两个变量。for前必须为表达式。

      可以在for前加if还必须加else,因为表达式必须计算出一个结果;而for后加if不能加else。for前加表示对表达式计算值的筛选,for后加表示对for输出值的筛选。

(四)生成器

  不一次性生成list,而是边循环遍历边计算出下一个值。

  区别:把[]换成(),其他与生成式一样。

  定义形式:

      1.g = (列表生成式),通过next(g)获取下一个值,或者使用for a in g来获取。

      2.编写一个函数func(),函数中使用yield,g = func(),例子如https://www.liaoxuefeng.com/wiki/1016959663602400/1017318207388128

(五)迭代器

  for循环遍历的对象是:1.集合数据类型;2.生成器

posted @ 2020-07-21 11:14  An2i  阅读(124)  评论(0)    收藏  举报