解锁式学习
1人加入学习
(0人评价)
Python基础知识学习
价格 免费
该课程属于 949-刘同学-python方向-python数据分析-就业:否 请加入后再学习

迭代(iterate)

可直接遍历的类型:list, tuple, dictionary, file 

可迭代的对象(实现迭代器协议的对象)支持遍历/循环 -- 目的:节省内存

可实现迭代协议的对象:对象内部有next方法:__next__()

f.__next__()

全局方法:next(f)

 

file 有__next__

list没有

但为啥还能for,因为for实现了额外步骤

可迭代的对象

 

字典表遍历时只能遍历取出键

d={'a':1,'b':2}

for k in d:

    print{k}

如下写法错误:

d={'a':1,'b':2}

for k,v in d:

    print{k,v}

 

迭代工具

for

推导

map

迭代器对象&可迭代对象

迭代器对象对象已经实现

可迭代对象需要额外加iter()方法,用于生成迭代器,用for时自动生成 __iter__()

iter(f) is f

True 则说明是迭代器对象

若需要可迭代对象能使用__next__()函数,可以用:i = iter(urls)  当urls为列表时

为什么列表不实现:因为列表可嵌套列表,可能使结构复杂

 

内置可迭代对象

(1)range() 类型为range

 

 

zip //负责将两个集合合成一个

result = zip (['x'],[1])

类型为zip

print结果为元组

有next方法

 

map将每一个元素应用函数的执行

[展开全文]

授课教师

高级算法工程师
老师

课程特色

视频(61)
考试(14)
练习(12)

最新学员