python 高级特性
切片:
减少循环代码
迭代:
list tuple 其他:dict ,字符串,
注意输出要写k,v 而不是key,value
判断是否可以迭代:
通过collections模块的Iterable类型判断
enumerate函数把list变成索引-元素对:
列表生成器:
... for ...in ...
判断是否为字符串:
isinstance
生成器:
一边循环,一边计算:generator
菲波那切数列:
要把fib函数变成generator,只需要把print(b)改为 yield b,返回的是generator对象
可迭代对象:
Iterable: 可以直接作用于for循环的对象
迭代器对象:
Iterabor:可以被next()函数调用并不断返回下一个值的对象
两者均可以使用isinstance判断
集合数据类型如:list ,dict ,str 等是可迭代对象,但不是迭代器,但可以通过iter() 函数获得一个迭代器对象