【发布时间】:2013-04-24 23:55:33
【问题描述】:
我需要构建一个生成器,并且我正在寻找一种方法将这个 for 循环缩短为一行。我尝试枚举,但没有奏效。
counter=0
for element in string:
if function(element):
counter+=1
yield counter
else:
yield counter
【问题讨论】:
-
您是否缺少
counter=0,或者这应该是外部代码中counter的闭包? -
什么版本的 Python?
-
不,我最初排除了它,但我只是包含它。
标签: python list for-loop generator list-comprehension