中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

節省時間的Python技巧有哪些

發布時間:2023-04-13 14:41:03 來源:億速云 閱讀:107 作者:iii 欄目:編程語言

這篇文章主要介紹了節省時間的Python技巧有哪些的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇節省時間的Python技巧有哪些文章都會有所收獲,下面我們一起來看看吧。

反轉列表

我最近有個項目,需要去反轉列表,一開始是通過切片來完成。但其實使用內置函數reverse()方法,也可以反轉python中的列表。

先從創建一個列表開始。

# 創建一個列表
mylist = list(np.arange(0,100))

反轉列表的兩種方法是:

# 使用切片反轉列表
newlist = mylist[::-1]

# 使用內置的 reverse() 反轉列表
mylist.reverse()

兩種方法都可以反轉列表,但需要注意的是,內置函數reverse()會更改原始列表,切片方法是創建一個新列表。

我們再對比一下執行時間?

節省時間的Python技巧有哪些

reverse() 和列表切片的執行時間

顯然,內置函數reverse()比列表切片的方法快3倍!

在我的工作項目中,為了實現系統文件的自動移動,我創建了一個位置值的列表。早期的Python程序是使用列表切片編寫的,現在我重新編寫了代碼,用reverse()函數使得程序的更快執行。

好了,下面介紹第二個技巧。

使用一行代碼交換兩個值

使用一行代碼交換兩個變量值是一種真正的 Pythonic 方式。

與其他編程語言不同,Python 無需使用臨時變量來交換兩個數字或值。舉一個簡單的例子:

# 創建兩個變量
variable_1 = 100 
variable_2 = 500

要交換 variable_1 和 variable_2 的值,您只需使用一行代碼即可。

變量_2,變量_1 = 變量_1,變量_2

使用一行代碼交換兩個值,簡化也就是下面這種形式。

節省時間的Python技巧有哪些

當然,我的實際工作項目比這復雜一點,要用到一個字典,每個鍵都有一個列表作為值。

md[key_2],md[key_1] = md[key_1],md[key_2]

通過上面的技巧,使我的工作節省了多次迭代和復雜的數據轉換,減少了執行時間。

在函數內使用 for 循環

我們都喜歡創建自定義的函數,以執行自己的特定任務。然后再搭配 for 循環迭代這些函數,多次重復執行任務。

但是,在 for 循環中使用函數需要更長的執行時間,因為每次迭代都會調用該函數。

相反,如果 for 循環是在函數內部實現的,那么該函數只會被調用一次。

為了解釋得更清楚,還是舉個例子吧!

先創建一個簡單的字符串列表:

listofstrings = ['蘋果','橙子','香蕉','菠蘿','葡萄']

創建兩個函數,for 循環分別在函數內外,從簡單的一個開始。

# 在函數內部創建一個沒有for循環的函數
def onlyfunction(x):
    newstring = x.capitalize()
    outputstring = x + " " + newstring
    print(outputstring)

以及一個for內部帶有循環的函數。

# 創建一個函數,其中 for 循環在函數內部
def forinfunction(listofstrings):
    for x in listofstrings:
        newstring = x.capitalize()
        outputstring = x + " " + newstring
        print(outputstring)

讓我們使用這些函數并查看輸出。

節省時間的Python技巧有哪些

顯而易見,兩個函數的輸出的結果是相同的。

但是,故事并沒有到此結束。咱們對比一下,哪個更快?

節省時間的Python技巧有哪些

可以看到,在函數內部使用 for 循環要稍微快一些。

節省時間的Python技巧有哪些

關于“節省時間的Python技巧有哪些”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“節省時間的Python技巧有哪些”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

如皋市| 纳雍县| 余姚市| 嘉黎县| 托克逊县| 泌阳县| 舒城县| 墨脱县| 沾化县| 加查县| 山东省| 麟游县| 高清| 温州市| 上思县| 甘孜| 河北省| 莆田市| 顺昌县| 仙居县| 福州市| 泽州县| 定兴县| 宁河县| 松潘县| 成武县| 大石桥市| 霍州市| 台南市| 永平县| 富阳市| 弥渡县| 京山县| 紫云| 汨罗市| 涞源县| 普格县| 古浪县| 海门市| 衡东县| 白水县|