在Python中将迭代器与丢弃匹配
作者:互联网
有什么办法可以做到这一点:
a, b, ... = count()
这个想法是匹配(在这种情况下,是无限的)迭代器的前两个值,并丢弃其余的值.
我能做的最好的就是笨拙的:
a, b = islice(count(), 0, 2)
这需要您计算左侧的条目数.
我有没有很酷的技巧?
解决方法:
不,除非您明确告知所需的元素数量,否则没有简单的方法.
在Python想法邮件组中进行了很多讨论(我认为是在去年年底,他们引入the enum
library时),没有人同意解决该问题的方法.
对于有限迭代器,在Python 3上可以使用:
a, b, *_ = thing()
_变量可以忽略的地方.
标签:iterator,python,pattern-matching 来源: https://codeday.me/bug/20191123/2066150.html