Python程式搜尋元組中的元素
在Python中,搜尋資料結構中的元素是一項常見任務,不同型別的資料結構應該旨在提供有效的搜尋方法。搜尋問題涉及在容器中查詢特定元素,如果未找到則返回一個值。
元組是一種可用於此任務的資料結構,它將不同型別的資料集合儲存在一個變數中。這些專案可以透過其索引訪問,Python提供了各種方法來處理它們。元組是不可變的,這意味著一旦建立,就不能修改。對元組執行的任何操作都將導致一個包含更新值的新元組。
我們可以使用圓括號括住要儲存的資料來在python中定義元組 -
var = (1, 'a', 3.7)
每當我們需要檢查專案是否存在於元組中時,我們必須尋找在其中搜索該專案的方法。幸運的是,python為我們提供瞭解決此問題的方法。下面列出了一些我們可以確定元素是否存在於元組中的方法。
使用python的for迴圈
使用python的in運算子
使用元組物件的index方法
使用python的for迴圈
Python為我們提供了多種遍歷元組、列表等的方法。透過使用迴圈,我們將遍歷元組的所有元素。在每次迭代中,我們將檢查當前元素是否等於我們要搜尋的元素。
如果匹配,我們將使用元素已找到的訊息退出迴圈,如果我們遍歷所有元素並且仍然找不到元素,我們將列印未找到的訊息
演算法
讓我們看看上述方法的演算法 -
步驟1 - 建立一個元組
步驟2 – 建立一個計數器變數來跟蹤元素找到或未找到的狀態
步驟3 – 使用for迴圈開始迭代元素
步驟4 – 使用比較運算子和if語句檢查當前值是否等於我們要搜尋的值。
步驟5 – 如果是,則我們找到了元素,將found設定為true,並退出迴圈
步驟6 – 如果否,則繼續下一個元素
步驟7 – 程式退出迴圈後,檢查計數器變數的值是否為true
步驟8 – 如果是,則列印元素已找到
步驟9 – 如果否,則列印元素未找到
示例
在這個例子中,我們使用for迴圈迭代列表並比較每個元素與給定的數字,如果元素等於給定的數字,我們中斷for迴圈並列印該元素存在。
A = (1, 2, 3, 4, 6) isFound = False elem = 5 for item in A: if item == elem: isFound = True break if isFound: print("Element found") else: print("Element not found")
輸出
Element not found Element not found Element not found Element not found Element not found
使用in運算子
in運算子確定給定值是否是字串、陣列、列表或元組等序列的組成元素。
Python為檢查元素是否存在於可迭代物件中(在本例中為元組)的問題提供了一個簡單的解決方案。那就是“in”運算子。它是python的內建方法,其功能與我們上面討論的方法相同,但它會產生布爾值。
也就是說,如果我們要搜尋的專案存在於可迭代物件(在本例中為元組)中,它將返回true,如果元素不存在,則表示式將返回False。使用in運算子的語法如下 -
ElementToSearch in VariableToSearchIn
示例
以下是一個使用in運算子在陣列中搜索元素的示例。在這裡,我們使用了python的in運算子,它檢查元素是否存在於資料結構中。
如果此運算子返回true,則表示該專案存在,我們返回元素存在。如果運算子返回false,我們返回元素未找到。
array = ("mango", "banana", "apple", "orange") elem = "mango" if elem in array: print ("Element found") else: print ("Element not found")
輸出
Element found
使用元組的index()方法
我們可以透過以下方式訪問元組的元素:tuple_name[index]
正如我們已經討論的那樣,元組是python中的預定義類,因此它有幾種可用於執行簡單任務的方法。其中一種方法是index方法。
它將要搜尋的值作為輸入,並在元素存在的情況下返回該元素第一次出現時的索引作為返回值,如果元素不存在,則引發異常。
由於存在可能引發異常,我們將使用try和except塊進行錯誤處理。
示例
在下面的示例中,我們使用了index()函式來獲取給定數字的索引,如果它給出了索引,我們列印元素已找到,否則,我們列印“元素未找到”。
input_array = (1, 2, 3, 5, 6, 7) elem = 4 try: A.index(elem) print("Element found") except: print("Element not found")
輸出
Element not found
結論
在本文中,我們重點介紹了三種在元組中搜索元素的不同方法。我們學習瞭如何使用for迴圈、使用in運算子以及使用元組類的index方法。