一篇文章带你了解python迭代器和生成器

时间:2022-09-04 16:32:04

python迭代器和生成器

1、迭代器

这里用字典示例

while True 属于无限循环,因字典元素有限,所以用try做异常处理

?
1
2
3
4
5
6
7
8
9
10
11
12
13
dict1 = {
    'name':'laowang',
    'age':18,
    'high':180
}
iterator = dict1.__iter__()
while True:
    try:
        res = iterator.__next__()
    except:
        break
    else:
        print(res,dict1[res]

结果:

name laowang
age 18
high 180

2、生成器

先看一下列表推导式

?
1
2
3
list1 = [i for i in range(1,10)]
# 结果
[1, 2, 3, 4, 5, 6, 7, 8, 9]

生成器

?
1
2
3
4
5
6
7
8
9
10
11
list1 = (i for i in range(1,10))
# 结果
<generator object <genexpr> at 0x7fa491ea3410>
# generator 生成器
#生成器函数
def func1():
    for i in range(1,10):
        yield i
res = func1() #生成器对象
for i in res:
    print(i)

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!

原文链接:https://blog.csdn.net/Qycccccc/article/details/119987945