最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 中判斷列表是否為空的方法

 更新時(shí)間:2019年11月24日 14:55:45   作者:賈攀家  
這篇文章主要介紹了Python 中判斷列表是否為空的方法,本文通過代碼詳解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

在判斷列表是否為空時(shí),你更喜歡哪種方式?決定因素是什么?

在 Python 中有很多檢查列表是否是空的方式,在討論解決方案前,先說一下不同方法涉及到的不同因素。

我們可以把判斷表達(dá)式可以分為兩個(gè)陣營:

  1. 對(duì)空列表的顯式比較
  2. 對(duì)空列表的隱式求值

這意味著什么?

顯式比較

我們從顯式比較開始說起,無論我們使用列表符號(hào) [] 還是聲明空列表的函數(shù) list() ,遵循的策略是查看待檢查列表是否與空列表完全相等。

# 都是用來創(chuàng)建空列表
a = []
b = list()
print(a == b) # True

另外,我們可以使用 len() 函數(shù)返回列表中的元素個(gè)數(shù)。

a = []
if len(a) == 0:
  print("The list is empty")

隱式求值

和顯式比較相反,隱式求值遵循的策略是:將空列表求值為布爾值的 False ,將有元素填充的列表求值為布爾值的 True 。

a = []
b = [1]
if a:
  print("Evaluated True")
else:
  print("Evaluated False")
if b:
  print("Evaluated True")
else:
  print("Evaluated False")
# 輸出
Evaluated False
Evaluated True

那么,顯式比較和隱式求值有什么區(qū)別呢?

很多人習(xí)慣于使用顯式比較的方式。但是如果你遵循鴨子類型的設(shè)計(jì)風(fēng)格,那么會(huì)更加偏向于使用的是隱式方法。

什么是鴨子類型

「鴨子類型」這個(gè)此來自以下短語:

當(dāng)看到一只鳥走起來像鴨子、游泳起來像鴨子、叫起來也像鴨子,那么這只鳥就可以被稱為鴨子。

從功能上講,這是對(duì)對(duì)象實(shí)際數(shù)據(jù)類型壓力較小的一種確認(rèn)。在鴨子類型中,關(guān)注點(diǎn)在于對(duì)象的行為,能作什么(比如,可迭代 iterable);而不是關(guān)注對(duì)象所屬的類型。鴨子類型在動(dòng)態(tài)語言中經(jīng)常使用,非常靈活。

鴨子類型優(yōu)先考慮便利性而非安全性,從而可以使用更靈活的代碼來適應(yīng)更廣泛的用途,它不會(huì)像傳統(tǒng)方式那么嚴(yán)格。

我們應(yīng)該使用哪種方式?

當(dāng)我們?cè)搅私怆[式求值,就越傾向于使用這種方式,因?yàn)槲覀冎揽樟斜韺⒈磺笾禐?False 。

a = []
print(bool(a)) # False

這使得我們可以合并那些很長(zhǎng)的檢查表達(dá)式,如:

# 之前
if isinstance(a, list) and len(a) > 0:
  print("Processing list...")
# 之后
if a:
  print("Processing list...")

當(dāng)然,最終的選擇還取決于這個(gè)本次檢查的意圖:

  • 如果你檢查空列表是為了對(duì)其進(jìn)行迭代,那么隱式求值是更合適的方法。
  • 如果你檢查空列表是為了在之后調(diào)用列表中的方法,那么可以考慮使用顯式比較來同時(shí)驗(yàn)證數(shù)據(jù)類型。

總結(jié)

以上所述是小編給大家介紹的Python 中判斷列表是否為空的方法,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

相關(guān)文章

  • Pytorch?nn.Unfold()?與?nn.Fold()圖碼詳解(最新推薦)

    Pytorch?nn.Unfold()?與?nn.Fold()圖碼詳解(最新推薦)

    這篇文章主要介紹了Pytorch?nn.Unfold()?與?nn.Fold()圖碼詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • python:關(guān)于文件加載及處理方式

    python:關(guān)于文件加載及處理方式

    這篇文章主要介紹了python:關(guān)于文件加載及處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 使用with torch.no_grad():顯著減少測(cè)試時(shí)顯存占用

    使用with torch.no_grad():顯著減少測(cè)試時(shí)顯存占用

    這篇文章主要介紹了使用with torch.no_grad():顯著減少測(cè)試時(shí)顯存占用問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python Google風(fēng)格注釋的使用

    Python Google風(fēng)格注釋的使用

    Google風(fēng)格注釋是一種Python代碼注釋的標(biāo)準(zhǔn)化格式,它提供了一種規(guī)范的注釋格式,使得代碼更加易讀、易于維護(hù),本文就來介紹一下Google風(fēng)格注釋的語法和用法,感興趣的可以了解一下
    2023-11-11
  • python使用pyaudio錄音和格式轉(zhuǎn)化方式

    python使用pyaudio錄音和格式轉(zhuǎn)化方式

    這篇文章主要介紹了python使用pyaudio錄音和格式轉(zhuǎn)化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • python進(jìn)階教程之函數(shù)對(duì)象(函數(shù)也是對(duì)象)

    python進(jìn)階教程之函數(shù)對(duì)象(函數(shù)也是對(duì)象)

    這篇文章主要介紹了python進(jìn)階教程之函數(shù)對(duì)象,函數(shù)對(duì)象是指函數(shù)也是對(duì)象,本文還講解了lambda函數(shù)、函數(shù)作為參數(shù)傳遞、map()函數(shù)、filter()函數(shù)、reduce()函數(shù)等內(nèi)容,需要的朋友可以參考下
    2014-08-08
  • Python實(shí)現(xiàn)自動(dòng)批量修改文件名稱

    Python實(shí)現(xiàn)自動(dòng)批量修改文件名稱

    這篇文章主要為大家詳細(xì)介紹了如何基于Python語言,實(shí)現(xiàn)按照一定命名規(guī)則批量修改多個(gè)文件的文件名的效果,文中的示例代講解詳細(xì),感興趣的可以了解一下
    2023-01-01
  • 淺析Python的命名空間與作用域

    淺析Python的命名空間與作用域

    這篇文章主要介紹了Python的命名空間與作用域的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • python爬取w3shcool的JQuery課程并且保存到本地

    python爬取w3shcool的JQuery課程并且保存到本地

    本文主要介紹python爬取w3shcool的JQuery的課程并且保存到本地的方法解析。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • Flask文件下載的三種方法

    Flask文件下載的三種方法

    在本文中,我們將介紹三種不同的方法,以便你能夠選擇最適合你應(yīng)用程序的方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11

最新評(píng)論

呼伦贝尔市| 广宗县| 五大连池市| 汾阳市| 开平市| 双鸭山市| 乐山市| 宁国市| 石家庄市| 靖远县| 新源县| 清丰县| 抚远县| 辰溪县| 定日县| 南乐县| 仙桃市| 浦北县| 宜丰县| 利川市| 昌图县| 江城| 五家渠市| 孝昌县| 赤壁市| 徐水县| 清原| 调兵山市| 磐石市| 南雄市| 龙井市| 卓尼县| 灵川县| 化德县| 广南县| 青岛市| 兰坪| 缙云县| 张掖市| 阿鲁科尔沁旗| 恭城|