我遇到了一些 Python v2.7 代码,我已将其重构为:
for ssid in (ssid for ssid in overlaps
if ssid != subseq_id and ssid not in merged):
但我觉得应该有一种不用两个 for 语句来表达这一点的方法吗?
请您参考如下方法:
你可以使用filter():
for ssid in filter(lambda s: s != subseq_id and s not in merged, overlaps):
# ...
或者您可以在循环中测试:
for ssid in overlaps:
if ssid == subseq_id or ssid in merged:
continue
# ...
