![](/img/trans.png)
[英]Check if list contains an element and append to another list's values to a list
[英]How to check if a list contains another list of different values
我想知道如何检查一个列表是否包含另一个列表,而不管是否包含相似的值。 给出下面发布的示例,我想对列表中是否存在列表进行条件检查。 换句话说,对于l1
的值,检查应返回 False,对于l2
,检查应返回 True
请让我知道如何实现
代码
l1 = [1,2,3]
l2 = [4,5,[6]]
要检查一个列表是否包含另一个不同值的列表,您可以在 if 语句中使用 in 关键字。 例如:
l1 = [1, 2, 3]
l2 = [4, 5, [6]]
if [6] in l1:
print("l1 contains [6]")
else:
print("l1 does not contain [6]")
if [6] in l2:
print("l2 contains [6]")
else:
print("l2 does not contain [6]")
此代码将检查列表 [6] 是否包含在列表 l1 和 l2 中,并打印一条消息指示是否包含。 输出将是:
l1 does not contain [6]
l2 contains [6]
这种方法之所以有效,是因为 in 关键字会检查列表中是否包含元素,而不管元素的值如何。 在这种情况下,要搜索的元素是列表 [6],如果该列表包含在要搜索的列表中,则 in 关键字将返回 True,否则返回 False。
另一种选择是使用 any 函数,如果列表中的任何元素满足给定条件,该函数返回 True,否则返回 False。 例如:
l1 = [1, 2, 3]
l2 = [4, 5, [6]]
if any(isinstance(x, list) for x in l1):
print("l1 contains a list")
else:
print("l1 does not contain a list")
if any(isinstance(x, list) for x in l2):
print("l2 contains a list")
else:
print("l2 does not contain a list")
此代码将检查列表中是否有任何元素`
IIUC,您可以将any
与isinstance
结合使用:
l1 = [1, 2, 3]
l2 = [4, 5, [6]]
def contains_list(lst):
return any(isinstance(e, list) for e in lst)
print(contains_list(l1))
print(contains_list(l2))
输出
False
True
使用isinstance
是在 Python 中检查类型的规范方法。
这就是你要找的
def contains_lists(ls):
return any([type(x) == list for x in ls])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.