您好,登錄后才能下訂單哦!
這篇文章主要介紹了節省時間的Python技巧有哪些的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇節省時間的Python技巧有哪些文章都會有所收獲,下面我們一起來看看吧。
我最近有個項目,需要去反轉列表,一開始是通過切片來完成。但其實使用內置函數reverse()方法,也可以反轉python中的列表。
先從創建一個列表開始。
# 創建一個列表 mylist = list(np.arange(0,100))
反轉列表的兩種方法是:
# 使用切片反轉列表 newlist = mylist[::-1] # 使用內置的 reverse() 反轉列表 mylist.reverse()
兩種方法都可以反轉列表,但需要注意的是,內置函數reverse()會更改原始列表,切片方法是創建一個新列表。
我們再對比一下執行時間?
reverse() 和列表切片的執行時間
顯然,內置函數reverse()比列表切片的方法快3倍!
在我的工作項目中,為了實現系統文件的自動移動,我創建了一個位置值的列表。早期的Python程序是使用列表切片編寫的,現在我重新編寫了代碼,用reverse()函數使得程序的更快執行。
好了,下面介紹第二個技巧。
使用一行代碼交換兩個變量值是一種真正的 Pythonic 方式。
與其他編程語言不同,Python 無需使用臨時變量來交換兩個數字或值。舉一個簡單的例子:
# 創建兩個變量 variable_1 = 100 variable_2 = 500
要交換 variable_1 和 variable_2 的值,您只需使用一行代碼即可。
變量_2,變量_1 = 變量_1,變量_2
使用一行代碼交換兩個值,簡化也就是下面這種形式。
當然,我的實際工作項目比這復雜一點,要用到一個字典,每個鍵都有一個列表作為值。
md[key_2],md[key_1] = md[key_1],md[key_2]
通過上面的技巧,使我的工作節省了多次迭代和復雜的數據轉換,減少了執行時間。
我們都喜歡創建自定義的函數,以執行自己的特定任務。然后再搭配 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)
讓我們使用這些函數并查看輸出。
顯而易見,兩個函數的輸出的結果是相同的。
但是,故事并沒有到此結束。咱們對比一下,哪個更快?
可以看到,在函數內部使用 for 循環要稍微快一些。
關于“節省時間的Python技巧有哪些”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“節省時間的Python技巧有哪些”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。