檢查Python中列表的列表中是否存在元素


列表可以巢狀,這意味著列表的元素本身就是列表。在本文中,我們將瞭解如何找出給定元素是否存在於子列表中,而子列表本身是更大列表中的元素。

使用任何方法

我們首先搜尋子列表中是否存在元素,以及子列表是否存在於列表中。如果兩者中的任何一個為真,我們可以說該元素存在於列表中。

示例

 線上演示

listA = [[-9, -1, 3], [11, -8],[-4,434,0]]
search_element = -8

# Given list
print("Given List :\n", listA)

print("Element to Search: ",search_element)

# Using in
if any(search_element in sublist for sublist in listA):
   print("Present")
else:
   print("Not Present")

輸出

執行以上程式碼,得到以下結果:

('Given List :\n', [[-9, -1, 3], [11, -8], [-4, 434, 0]])
('Element to Search: ', -8)
Present

使用“in”運算子

在這種方法中,我們使用“in”運算子進行簡單的搜尋。如果專案是子列表的一部分,而子列表也是外部列表的一部分,那麼我們將接受該元素存在。我們進行兩次檢查,一次檢查存在,另一次檢查不存在。

示例

 線上演示

listA = [[-9, -1, 3], [11, -8],[-4,434,0]]
search_element = -8

# Given list
print("Given List :\n", listA)

print("Element to Search: ",search_element)

# Using in
if search_element in (item for sublist in listA for item in sublist):
   print("Present")
else:
   print("Not Present")

search_element = 13
print("New Element to Search: ",search_element)

# Using in
if search_element in (item for sublist in listA for item in sublist):
   print("Present")
else:
   print("Not Present")

輸出

執行以上程式碼,得到以下結果:

Given List :
[[-9, -1, 3], [11, -8], [-4, 434, 0]]
Element to Search: -8
Present
New Element to Search: 13
Not Present

使用chain方法

使用itertools模組中的chain方法,我們可以展開子列表的列表,並使用in方法繼續檢查元素的存在。

示例

 線上演示

from itertools import chain

listA = [[-9, -1, 3], [11, -8],[-4,434,0]]
search_element = -8

# Given list
print("Given List :\n", listA)

print("Element to Search: ",search_element)

# Using in
if search_element in chain(*listA):
   print("Present")
else:
   print("Not Present")

search_element = 13
print("New Element to Search: ",search_element)

# Using in
if search_element in chain(*listA):
   print("Present")
else:
   print("Not Present")

輸出

執行以上程式碼,得到以下結果:

Given List :
[[-9, -1, 3], [11, -8], [-4, 434, 0]]
Element to Search: -8
Present
New Element to Search: 13
Not Present

更新於:2020年5月13日

2K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.