检查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.