3

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

a, b, ... = count()

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

我能做的最好的就是笨拙的:

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

这需要您计算左侧的条目数。

我错过了一个很酷的黑客吗?

4

1 回答 1

3

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

Python-ideas 邮件组对此进行了很多讨论(我想是去年年底他们介绍enum时),但没有人同意解决这个问题的方法。

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

a, b, *_ = thing()

_变量可以被忽略的地方。

于 2013-05-27T00:00:15.567 回答