Python 中的 in 運算子在列表中是如何工作的?


Python 中,列表是一個有序序列,可以容納多種物件型別,例如整數、字元或浮點數。在其他程式語言中,列表相當於陣列。方括號用於表示它,逗號 (,) 用於分隔列表中的兩個元素。

Python 中的 in 運算子

在 Python 中,in 運算子用於確定給定值是否為序列的組成元素,例如 字串陣列列表元組

在條件語句中使用時,該語句返回 True 或 False 的布林結果。如果在序列中找到指定值,則語句返回 True。如果未找到,則返回 False。

在本文中,我們將演示 in 運算子在 Python 中以不同方式作用於列表的方式。我們將看到三種不同的場景:

  • 在一個單列表/扁平列表中查詢單個元素/物件。

  • 在巢狀列表中查詢多個元素列表。

  • in 運算子與 if 語句一起使用。

假設我們已經建立了一個包含隨機元素的列表。

方法 1:在一個單列表/扁平列表中查詢單個元素/物件

演算法(步驟)

以下是執行所需任務的演算法/步驟:

  • 建立一個變數來儲存輸入列表,並賦予它一些隨機值。

  • 使用 in 運算子檢查元素是否在列表中,並列印結果。

以下程式使用 in 運算子檢查單個元素是否在扁平列表中:

# input list lst = ["Hello", 10, "TutorialsPoint", 20, "python", "code"] # Checking if {TutorialsPoint} element in list using in operator print("TutorialsPoint" in lst) # Checking if {bigdata} element in list using in operator print("bigdata" in lst)

輸出

執行上述程式將生成以下輸出:

True
False

首先,我們用隨機值填充了一個列表 lst。然後,我們使用 in 運算子來確定某些值是否是先前序列的一部分。

從上面的輸出可以看出,列表中的 "TutorialsPoint" 評估結果為 True。這表明可以在列表中找到值 "TutorialsPoint"。

"bigdata" 在列表中的評估結果為 False。這意味著在列表中沒有找到值 "bigdata"。

方法 2:在巢狀列表中查詢多個元素列表

演算法(步驟)

以下是執行所需任務的演算法/步驟:

  • 建立一個變數來儲存輸入巢狀列表,並賦予它一些隨機列表值。

  • 使用 in 運算子檢查列表是否在巢狀列表中,並列印結果。

以下程式使用 **in** 運算子檢查給定列表是否在巢狀列表中:

# input list lst = [["Hello", 10], ["TutorialsPoint", 20], ["python", "code"]] # Checking if {TutorialsPoint,20} elements list present in nested list using in operator print(["TutorialsPoint",20] in lst) # Checking if {TutorialsPoint,code} elements list present in nested list using in operator print(["TutorialsPoint","code"] in lst)

輸出

執行上述程式將生成以下輸出:

True
False

從上面的輸出可以看出,列表中的 ["TutorialsPoint",20] 評估結果為 True。這表明可以在列表中找到列表 ["TutorialsPoint",20]。

列表中的 ["TutorialsPoint", "code"] 評估結果為 False。這意味著在列表中沒有找到列表 ["TutorialsPoint", "code"]。

儘管 "TutorialsPoint" 和 "code" 元素都巢狀在這裡,但它返回 False,因為它們不在同一個列表中。它們出現在巢狀列表的不同列表中。

方法 3:in 運算子與 if 語句一起使用。

演算法(步驟)

以下是執行所需任務的演算法/步驟:

  • 建立一個變數來儲存輸入巢狀列表,並賦予它一些隨機列表值。

  • 使用 in 運算子和 if 語句檢查元素是否在列表中。

  • 只有當 in 運算子返回 true(即元素存在於列表中)時,if 語句才會執行。

  • 將列表轉換為元組後列印結果元組。

  • 使用 type() 函式 列印結果元組的資料型別以進行驗證。如果元素不存在於列表中,則編寫 else 語句。

以下程式使用 **in** 運算子檢查單個元素是否在扁平列表中:

# input list lst = ["Hello", 10, "TutorialsPoint", 20, "python", "code"] # Checking if {TutorialsPoint} element in list using in operator if "TutorialsPoint" in lst: print('{TutorialsPoint} Element is in the given list') # Checking if {bigdata} element in list using in operator if "bigdata" in lst: print('{bigdata} Element is in the given list') # If {bigdata} is not in list else: print('{bigdata} Element is not present in the given list')

輸出

執行上述程式將生成以下輸出:

{TutorialsPoint} Element is in the given list
{bigdata} Element is not present in the given list

我們建立了一個包含一些隨機值的列表,然後使用 in 運算子來檢視元素 "TutorialsPoint" 是否存在於列表中。在這種情況下,它返回 True,表明 if 語句將被執行。"bigdata" 這個第二個元素不在列表中,因此運算子返回 False。因此,else 語句將被執行。

結論

我們學習瞭如何使用三種不同的方法將列表轉換為元組:直接使用 tuple() 函式、解包列表以及在 for 迴圈 中使用 tuple() 函式。因此,在本教程中,我們學習了 Python 中的 in 運算子在列表中的工作方式。我們還學習瞭如何在 if 語句 中結合使用 in 運算子。我們學習瞭如何在巢狀列表中使用 in 運算子,或者 in 運算子如何用於查詢多個元素。

更新於:2023年11月3日

18K+ 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告