【发布时间】:2013-02-28 21:49:52
【问题描述】:
我遇到了一些 Python v2.7 代码,我已将其重构为:
for ssid in (ssid for ssid in overlaps
if ssid != subseq_id and ssid not in merged):
但我觉得应该有一种不用两个for 语句就能表达的方法?
【问题讨论】:
-
严格来说,这是一个包含一个列表理解的
for语句,而不是两个for语句。关键字for有两种用途,这是一种巧合。 -
@minopret 这不是一个列表推导,它是一个生成器表达式
-
好的,是的,它产生一个惰性列表而不是严格列表,所以既然我说“严格”,我可能也已经深入研究了那个细节:-)
标签: python python-2.7 for-loop refactoring