[英]How do I check if a list of lists exists in a list of lists?
I got a list of lists b and I want to check if they exist in list a which is also a list of lists.我得到了列表b的列表,我想检查它们是否存在于列表a中,这也是列表的列表。
I'm currently using the following method which is quite time-consuming.我目前正在使用以下方法,这非常耗时。 Is there a faster way?
有更快的方法吗?
b = [[5], [5, 3], [5, 3, 1], [5, 3, 1, 2]]
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
result = all(elem in b[0] for elem in a[0])
print(result)
result = all(elem in b[1] for elem in a[0])
print(result)
result = all(elem in b[2] for elem in a[0])
print(result)
result = all(elem in b[3] for elem in a[0])
print(result)
result = all(elem in b[0] for elem in a[1])
print(result)
result = all(elem in b[1] for elem in a[1])
print(result)
result = all(elem in b[2] for elem in a[1])
print(result)
result = all(elem in b[3] for elem in a[1])
print(result)
result = all(elem in b[0] for elem in a[2])
print(result)
result = all(elem in b[1] for elem in a[2])
print(result)
result = all(elem in b[2] for elem in a[2])
print(result)
result = all(elem in b[3] for elem in a[2])
print(result)
Output: Output:
>>>False
>>>False
>>>False
>>>True
>>>False
>>>False
>>>False
>>>False
>>>False
>>>False
>>>False
>>>False
You do the same thing with a double loop O(n^2):你用双循环 O(n^2) 做同样的事情:
for i in range(len(a)):
for j in range(len(b)):
print(all(elem in a[i] for elem in b[j]))
for i in range(len(b)):
if b[i] in a:
return True
else:
return False
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.