日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

分享3個(gè)簡單的Python代碼高效運(yùn)行技巧_python

作者:趙卓不凡 ? 更新時(shí)間: 2022-06-01 編程語言

1. 引言

小伙伴們?nèi)粘9ぷ髦卸急夭豢缮俚厥褂肞ython實(shí)現(xiàn)一些簡單的功能,但是不同的人所編寫的代碼執(zhí)行效率往往是不同的。本文重點(diǎn)介紹大家經(jīng)常遇到的場景下,三個(gè)有效的,方便理解的,執(zhí)行高效的實(shí)用技巧。

閑話少說,我們直接開始吧!!!

2. 獲取字典的值

不妨假設(shè)我們有以下字典:

my_dict = {'first_name': 'Michaela',
? ? ? ? ? ?'last_name': 'Kraushaar',
? ? ? ? ? ?'age': 36,
? ? ? ? ? ?'job': 'Pfleger',
? ? ? ? ? ?'country': 'Antarktis'}

一般來說,我們可以直接使用方括號(hào)來從字典中獲取每個(gè)鍵所對應(yīng)的值,比如使用my_dict['country']即可獲取country所對應(yīng)的值Antarktis。但是,如果我們的鍵值在字典中不存在呢?我們往往會(huì)遇到以下錯(cuò)誤:

上圖中,我們嘗試獲取鍵city所對應(yīng)的值,此時(shí)由于city不存在,我們將會(huì)拋出KeyError的異常,將終止我們代碼的執(zhí)行。
當(dāng)然,我們可以添加try-catch語句來捕捉相應(yīng)的異常,但是我們可以有更好的選擇,那就是使用內(nèi)置函數(shù).get(),代碼如下:

可以看出,使用get()內(nèi)置函數(shù)執(zhí)行效率更高,同時(shí)如果鍵不存在時(shí),并不會(huì)觸發(fā)異常,而是會(huì)返回None,如下所示:

初次之外,內(nèi)置函數(shù)get()還可以傳入額外的輸出信息,如果鍵不存在時(shí),樣例如下:

建議:

盡量使用get()函數(shù)來代替方括號(hào)來獲取字典中某個(gè)鍵的值

3. 循環(huán)中使用enumerate

通常,我們需要迭代循環(huán)一個(gè)范圍,比如listdictionary,同時(shí)還需要處理每個(gè)元素所對應(yīng)的索引。

按照之前c/c++的經(jīng)驗(yàn),大多數(shù)人往往傾向于在循環(huán)中使用range(len(iterable))來進(jìn)行遍歷,但是這里更推薦使用enumerate(iterable),因?yàn)檫@種方式往往更加高效。

對比如下:

上述兩種實(shí)現(xiàn),雖然結(jié)果一樣,但是enumerate(iterable)明顯更加方便易讀。除此之外,我們還可以自行決定,index下標(biāo)開始的數(shù)值,如下所示:

更進(jìn)一步地,使用函數(shù)enumerate(iterable),可以方便地產(chǎn)生下標(biāo)和元素組合的元組,代碼如下:

建議:

盡量使用enumerate()函數(shù)來遍歷可迭代對象中的元素

4. 使用f-strings來拼接和打印字符串

格式化輸出可以使用函數(shù)format()。它允許使用簡單的占位符進(jìn)行格式化。

一般來說,f-strings在需要格式化的字符串的開頭有一個(gè)字母f,同時(shí)在字符串中有多個(gè)占位符{}。

如下所示:

5. 總結(jié)

本文介紹了日常工作中常用的三個(gè)小技巧,這些小技巧都是工作中很小的細(xì)節(jié),但是使用它們可以讓我們編寫的代碼更加簡潔、方便修改和高效運(yùn)行。

原文鏈接:https://blog.csdn.net/sgzqc/article/details/123768298

欄目分類
最近更新