我遇到了一些 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
# ...
关于python - 这个 Python 循环可以更简洁地表达吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15146316/