【发布时间】:2016-05-16 10:14:15
【问题描述】:
在考试中,有人问我以下哪个函数最有可能运行得更快:
def f1():
a = []
for j in range(100000): a.append(j*j)
for j in range(100000):
if 99999*j == a[j]:
print("yes")
def f3():
d = {}
for j in range(100000): d[j] = j*j
for j in range(100000):
if 99999*j in d:
print("yes")
很明显in 和== 都是 O(1)。
但是,看到f1 运行得更快,我仍然感到惊讶。
任何解释将不胜感激。
【问题讨论】:
-
这两段代码做不同的事情。
-
请不要破坏您的帖子。
标签: python performance python-3.x