-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