2024-04-19 10:18:20 发布
网友
我遇到了一些Python v2.7代码,我将其重构为:
for ssid in (ssid for ssid in overlaps if ssid != subseq_id and ssid not in merged):
但我觉得应该有一种不用两个for语句就能表达的方法?你知道吗
for
根据您的数据(顺序不重要,…),您可以使用集合:
excluded = set(merged) excluded.add(subseq_id) ssids = set(overlaps) - excluded for ssid in ssids: ...
您可以使用filter():
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 # ...
根据您的数据(顺序不重要,…),您可以使用集合:
您可以使用
filter()
:或者你可以在循环中测试:
相关问题 更多 >
编程相关推荐