亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

5個python提速技巧有哪些

發布時間:2022-01-04 12:57:18 來源:億速云 閱讀:145 作者:柒染 欄目:開發技術

5個python提速技巧有哪些,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1、跳過迭代對象的開頭

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)

2、避免數據復制

# 不推薦寫法,代碼耗時: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]  # 避免無意義的復制

3、避免變量中間變量

# 不推薦寫法,代碼耗時: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()

4、循環優化

# 不推薦寫法。代碼耗時: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()

5、使用numba.jit

# 推薦寫法。代碼耗時: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提速技巧有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长丰县| 夏津县| 太仓市| 石楼县| 武穴市| 绥宁县| 花垣县| 泌阳县| 饶平县| 福贡县| 昌都县| 武汉市| 宣城市| 江阴市| 乌什县| 贵港市| 温州市| 雷山县| 莱州市| 家居| 苗栗县| 津市市| 辽源市| 高陵县| 河津市| 海盐县| 池州市| 沂源县| 闽清县| 铜鼓县| 富民县| 炎陵县| 绵竹市| 岗巴县| 达孜县| 大埔区| 昌都县| 嵊泗县| 黑龙江省| 新巴尔虎右旗| 科技|