-2 这里是我的代码为什么在python范围内(0,x ** 2 + 1)非常慢? def(x): for i in range (0,x**2+1): ... 但我发现它是非常慢! 谁能告诉我理由,谢谢! 来源 2013-04-23 Ryan_Liu +3 什么是你的“非常慢”的定义?这也绝对不是有效的代码。我想象缓慢的真正原因是在你的实际代码中的其他地方,而不是'x ** 2'。 – 2013-04-23 13:54:11 +5 不是,而是提高'SyntaxError'非常快。你的完整代码是什么? – Volatility 2013-04-23 13:54:29 +1 'x'的价值是什么? – 2013-04-23 13:55:18
8 在Python 2.x的:range创建所有号码列表直到停止参数(这看起来是在你的情况庞大)。 您可以尝试使用xrange代替它创建一个迭代器,而不是一个列表。 来源 2013-04-23 13:54:49 jamylak +0 对方回答将是'X ** 2'比'慢X * x'因为后者是一个简单的乘法,而前者是一个可变的指数更复杂的操作。 – poke 2013-04-23 13:57:02 +0 非常感谢! – 2013-04-23 13:59:54 +1 @poke - 好吧,那不是OP可以注意到的时差。 – eumiro 2013-04-23 14:09:25
什么是你的“非常慢”的定义?这也绝对不是有效的代码。我想象缓慢的真正原因是在你的实际代码中的其他地方,而不是'x ** 2'。 – 2013-04-23 13:54:11
不是,而是提高'SyntaxError'非常快。你的完整代码是什么? – Volatility 2013-04-23 13:54:29
'x'的价值是什么? – 2013-04-23 13:55:18