91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Python中怎樣判斷列表是否為空

發布時間:2021-02-08 11:46:14 來源:億速云 閱讀:204 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關Python中怎樣判斷列表是否為空,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

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

我們可以把判斷表達式可以分為兩個陣營:

  1. 對空列表的顯式比較

  2. 對空列表的隱式求值

這意味著什么?

顯式比較

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

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

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

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

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

很多人習慣于使用顯式比較的方式。但是如果你遵循鴨子類型的設計風格,那么會更加偏向于使用的是隱式方法。

什么是鴨子類型

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

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

從功能上講,這是對對象實際數據類型壓力較小的一種確認。在鴨子類型中,關注點在于對象的行為,能作什么(比如,可迭代 iterable);而不是關注對象所屬的類型。鴨子類型在動態語言中經常使用,非常靈活。

鴨子類型優先考慮便利性而非安全性,從而可以使用更靈活的代碼來適應更廣泛的用途,它不會像傳統方式那么嚴格。

我們應該使用哪種方式?

當我們越了解隱式求值,就越傾向于使用這種方式,因為我們知道空列表將被求值為 False 。

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

這使得我們可以合并那些很長的檢查表達式,如:

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

當然,最終的選擇還取決于這個本次檢查的意圖:

  • 如果你檢查空列表是為了對其進行迭代,那么隱式求值是更合適的方法。

  • 如果你檢查空列表是為了在之后調用列表中的方法,那么可以考慮使用顯式比較來同時驗證數據類型。

關于“Python中怎樣判斷列表是否為空”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

绥宁县| 通化市| 双峰县| 扶余县| 漳浦县| 平果县| 独山县| 龙里县| 盐边县| 新泰市| 河东区| 承德县| 商南县| 南丰县| 讷河市| 晋宁县| 靖江市| 瑞丽市| 兰西县| 迁安市| 凤台县| 郓城县| 兴化市| 东乌珠穆沁旗| 连城县| 加查县| 长沙县| 宜州市| 五河县| 香港| 芜湖市| 辛集市| 子长县| 栾川县| 紫云| 铜鼓县| 大化| 屏山县| 门头沟区| 江阴市| 永州市|