检查一个2d列表是否包含另一个2d名单的所有元素



我想检查一个2d列表(列表列表(是否包含另一个2d名单的所有元素。假设列表应该是相同的,并且以相同的方式排序,但第二个列表中缺少一个条目。我希望程序返回丢失条目的索引。我知道如何对1d列表执行此操作,但这对2d列表不起作用。我的想法是这样的,但它不适用于2d列表:

list1 = [[1,2],[3,4],[5,6],[7,8],[8,9]]
list2 = [[1,2],[3,4],[7,8],[8,9]]
present = True
i = 0
while present == True:
for val in list1: #list1 is the full list
if val in list2: #list2 is the list missing an element
present = True
else:
present = False
print("missing value")
print(i)
i+=1

如何使这项工作适用于2d列表?

您可以尝试使用单次运行,例如,将a列为嵌套循环,并在每次迭代中将a[i][j]与B[i][j]。如果在任何一点上它们都不相同,或者列表长度不相同,则可以得出它们不相同的结论。

for i in A:
for j in i:
if A[i][j] != B[i][j]:
break

最新更新