我有两个密码。
第一个是
index_series = pd.Series(df.index)
df.index = index_series.apply(lambda x: float(x.replace('N','')) if x.endswith('N') else -float(x.replace('S','')))
第二个是
x = 600851475143
a = 2
max = 0
while a < x:
for i in range (2, int(a**0.5)+1):
if a % i == 0:
break
else:
if x % a == 0 : max = a
a += 1
print(max)
两者都是用python编写的
你们可以看到的唯一不同是,我将最终值放在变量“ max”中,然后打印出来还是在if语句中打印出来。但是这两者的执行速度有很大的不同。谁能解释为什么?
答案 0 :(得分:0)
在第一种情况下,存在max = a这是一个赋值,需要花费一些额外的时间来计算,您的差异不应该太大。