有什么办法可以做到这意味着:
a, b, ... = count()
这个想法是匹配(在这种情况下为无限)迭代器的前两个值,并丢弃其余的值。
我能做的最好的就是笨拙的:
a, b = islice(count(), 0, 2)
这需要您计算左侧的条目数。
我错过了一个很酷的黑客吗?
有什么办法可以做到这意味着:
a, b, ... = count()
这个想法是匹配(在这种情况下为无限)迭代器的前两个值,并丢弃其余的值。
我能做的最好的就是笨拙的:
a, b = islice(count(), 0, 2)
这需要您计算左侧的条目数。
我错过了一个很酷的黑客吗?
不,没有简单的方法,除非你明确告诉你想要的元素数量。
Python-ideas 邮件组对此进行了很多讨论(我想是去年年底他们介绍该enum
库时),但没有人同意解决这个问题的方法。
对于有限迭代器,在 Python 3 上,您可以使用:
a, b, *_ = thing()
_
变量可以被忽略的地方。