您好,登錄后才能下訂單哦!
5個python提速技巧有哪些,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
string_from_file = """ // Wooden: ... // LaoLi: ... // // Whole: ... Wooden LaoLi... """ import itertools for line in itertools.dropwhile(lambda line: line.startswith("//"), string_from_file.split(" ")): print(line)
# 不推薦寫法,代碼耗時:6.5秒 def main(): size = 10000 for _ in range(size): value = range(size) value_list = [x for x in value] square_list = [x * x for x in value_list] main()
# 推薦寫法,代碼耗時:4.8秒 def main(): size = 10000 for _ in range(size): value = range(size) square_list = [x * x for x in value] # 避免無意義的復制
# 不推薦寫法,代碼耗時:0.07秒 def main(): size = 1000000 for _ in range(size): a = 3 b = 5 temp = a a = b b = temp main()
# 推薦寫法,代碼耗時:0.06秒 def main(): size = 1000000 for _ in range(size): a = 3 b = 5 a, b = b, a # 不借助中間變量 main()
# 不推薦寫法。代碼耗時:6.7秒 def computeSum(size: int) -> int: sum_ = 0 i = 0 while i < size: sum_ += i i += 1 return sum_ def main(): size = 10000 for _ in range(size): sum_ = computeSum(size) main()
# 推薦寫法。代碼耗時:4.3秒 def computeSum(size: int) -> int: sum_ = 0 for i in range(size): # for 循環代替 while 循環 sum_ += i return sum_ def main(): size = 10000 for _ in range(size): sum_ = computeSum(size) main()
隱式for循環代替顯式for循環
# 推薦寫法。代碼耗時:1.7秒 def computeSum(size: int) -> int: return sum(range(size)) # 隱式 for 循環代替顯式 for 循環 def main(): size = 10000 for _ in range(size): sum = computeSum(size) main()
# 推薦寫法。代碼耗時:0.62秒 # numba可以將 Python 函數 JIT 編譯為機器碼執行,大大提高代碼運行速度。 import numba @numba.jit def computeSum(size: float) -> int: sum = 0 for i in range(size): sum += i return sum def main(): size = 10000 for _ in range(size): sum = computeSum(size) main()
關于5個python提速技巧有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。