一篇文章帶你瞭解python迭代器和生成器

python迭代器和生成器

1、迭代器

這裡用字典示例

while True 屬於無限循環,因字典元素有限,所以用try做異常處理

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、生成器

先看一下列表推導式

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

生成器

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)

總結

本片文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: