urain39 / stuff

Noting here.
1 stars 0 forks source link

使用Python中的next内建函数获取迭代器中的元素 #83

Open urain39 opened 4 years ago

urain39 commented 4 years ago
def gen():
    """依次生成1~9"""
    i = 1
    while i < 10:
        yield i
        i += 1

g = gen()

# next(iterator[, default]):
#     从迭代器中获取一个值,失败(超出)则返回default

while i := next(g, 0):
    print(f"We got {i}")
urain39 commented 4 years ago

使用这个函数的好处是你可以减少一层异常捕获的代码块。

urain39 commented 4 years ago

也可以配合iter使用,iter主要用于将可迭代的对象转换为迭代器(iterator)。