【发布时间】:2019-05-12 05:32:47
【问题描述】:
我正在开发一个用 Python 编写的小型 3SAT 求解器。我正在浏览一个列表列表(在以下示例中称为my_list)。我还有一个集合checked,它将元素的索引存储在my_list 中,在遍历列表时不应检查这些索引。您认为以下哪一项会更快?
选项 A)
to_be_checked = {i for i in range(len(my_list)) if i not in checked}
for i in to_be_checked:
...
选项 B)
for i in range(len(my_list)):
if i not in checked:
...
选项 C)
to_be_checked = set(range(len(my_list))) - checked
for i in to_be_checked:
...
【问题讨论】:
-
你试过计时吗?
-
@khelwood 我做了,但结果很不稳定。我想知道从设计的角度来看,其中哪一个真的更快。
-
向我们展示您的计时码和结果,这样我们就不必重复同样的研究了。
标签: python performance time set