检查元素是否存在于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运算符进行简单搜索。如果项目是子列表的一部分,而子列表也是外部列表的一部分,则我们接受存在的元素。我们进行两次检查,一次检查是否存在,另一次检查是否存在。

示例

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

带链

使用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