分享3個簡單的Python代碼高效運行技巧
1. 引言
小伙伴們?nèi)粘9ぷ髦卸急夭豢缮俚厥褂肞ython實現(xiàn)一些簡單的功能,但是不同的人所編寫的代碼執(zhí)行效率往往是不同的。本文重點介紹大家經(jīng)常遇到的場景下,三個有效的,方便理解的,執(zhí)行高效的實用技巧。
閑話少說,我們直接開始吧!??!
2. 獲取字典的值
不妨假設我們有以下字典:
my_dict = {'first_name': 'Michaela', ? ? ? ? ? ?'last_name': 'Kraushaar', ? ? ? ? ? ?'age': 36, ? ? ? ? ? ?'job': 'Pfleger', ? ? ? ? ? ?'country': 'Antarktis'}
一般來說,我們可以直接使用方括號來從字典中獲取每個鍵所對應的值,比如使用my_dict['country']
即可獲取country所對應的值Antarktis
。但是,如果我們的鍵值在字典中不存在呢?我們往往會遇到以下錯誤:
上圖中,我們嘗試獲取鍵city所對應的值,此時由于city不存在,我們將會拋出KeyError
的異常,將終止我們代碼的執(zhí)行。
當然,我們可以添加try-catch
語句來捕捉相應的異常,但是我們可以有更好的選擇,那就是使用內(nèi)置函數(shù).get(),代碼如下:
可以看出,使用get()內(nèi)置函數(shù)執(zhí)行效率更高,同時如果鍵不存在時,并不會觸發(fā)異常,而是會返回None,如下所示:
初次之外,內(nèi)置函數(shù)get()還可以傳入額外的輸出信息,如果鍵不存在時,樣例如下:
建議:
盡量使用get()
函數(shù)來代替方括號來獲取字典中某個鍵的值
3. 循環(huán)中使用enumerate
通常,我們需要迭代循環(huán)一個范圍,比如list
、dictionary
,同時還需要處理每個元素所對應的索引。
按照之前c/c++的經(jīng)驗,大多數(shù)人往往傾向于在循環(huán)中使用range
(len(iterable))來進行遍歷,但是這里更推薦使用enumerate
(iterable),因為這種方式往往更加高效。
對比如下:
上述兩種實現(xiàn),雖然結果一樣,但是enumerate
(iterable)明顯更加方便易讀。除此之外,我們還可以自行決定,index下標開始的數(shù)值,如下所示:
更進一步地,使用函數(shù)enumerate
(iterable),可以方便地產(chǎn)生下標和元素組合的元組,代碼如下:
建議:
盡量使用enumerate()函數(shù)來遍歷可迭代對象中的元素
4. 使用f-strings來拼接和打印字符串
格式化輸出可以使用函數(shù)format()。它允許使用簡單的占位符進行格式化。
一般來說,f-strings
在需要格式化的字符串的開頭有一個字母f,同時在字符串中有多個占位符{}。
如下所示:
5. 總結
本文介紹了日常工作中常用的三個小技巧,這些小技巧都是工作中很小的細節(jié),但是使用它們可以讓我們編寫的代碼更加簡潔、方便修改和高效運行。
到此這篇關于分享3個簡單的Python代碼高效運行技巧的文章就介紹到這了,更多相關Python技巧內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
opencv-python 讀取圖像并轉(zhuǎn)換顏色空間實例
今天小編就為大家分享一篇opencv-python 讀取圖像并轉(zhuǎn)換顏色空間實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12python使用matplotlib繪圖時圖例顯示問題的解決
matplotlib 是python最著名的繪圖庫,它提供了一整套和matlab相似的命令API,十分適合交互式地進行制圖。下面這篇文章主要給大家介紹了在python使用matplotlib繪圖時圖例顯示問題的解決方法,需要的朋友可以參考學習,下面來一起看看吧。2017-04-04解決Numpy報錯:ImportError: numpy.core.multiarray faile
這篇文章主要介紹了解決Numpy報錯:ImportError: numpy.core.multiarray failed問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01python中l(wèi)ist循環(huán)語句用法實例
這篇文章主要介紹了python中l(wèi)ist循環(huán)語句用法,以實例形式詳細介紹了Python針對list的解析,包含各種常見的遍歷操作及原理分析,需要的朋友可以參考下2014-11-11