在Python中使用丢弃的匹配迭代器

时间:2013-05-26 23:52:24

标签: python iterator pattern-matching

有什么方法可以做到这意味着:

a, b, ... = count()

这个想法是匹配(无限的,在这种情况下)迭代器中的前两个值,并丢弃其余的值。

我能做的最好的事情就是笨重:

a, b = islice(count(), 0, 2)

要求您计算左侧的条目数。

我缺少一个很酷的黑客吗?

1 个答案:

答案 0 :(得分:3)

不,除非你明确告诉你想要的元素数量,否则没有简单的方法。

在Python-ideas邮件组中,有很多讨论(我认为在去年年底他们引入the enum library)时,没有人同意解决这个问题的方法。

对于有限迭代器,在Python 3上可以使用:

a, b, *_ = thing()

可以忽略_变量。