为了账号安全,请及时绑定邮箱和手机立即绑定

我怎么知道发电机一开始是否空了?

我怎么知道发电机一开始是否空了?

Qyouu 2019-10-11 14:58:21
有没有一种简单的方法可以测试生成器是否没有任何东西,例如peek,hasNext,isEmpty等?
查看完整描述

3 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

建议:


def peek(iterable):

    try:

        first = next(iterable)

    except StopIteration:

        return None

    return first, itertools.chain([first], iterable)

用法:


res = peek(mysequence)

if res is None:

    # sequence is empty.  Do stuff.

else:

    first, mysequence = res

    # Do something with first, maybe?

    # Then iterate over the sequence:

    for element in mysequence:

        # etc.


查看完整回答
反对 回复 2019-10-11
  • 3 回答
  • 0 关注
  • 348 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信