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方法。

更新於:2023年2月20日

5K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告