Wil*_*mKF 1 python refactoring for-loop python-2.7
我遇到了一些Python v2.7代码,我已经重构成为这个代码:
for ssid in (ssid for ssid in overlaps
             if ssid != subseq_id and ssid not in merged):
但我觉得应该有一种方法来表达这个而不使用两个for陈述?
Mar*_*ers 14
你可以使用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
    # ...