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 運算子如何用於查詢多個元素。