Python List 包含关系判定
网上没找到合适的代码来判断一个list是否完全包含另一个list,自已写了一个函数。
## 比较两个列表A和B是否A包含于B,可以比较有间隔的列表
def allin(A, B):
A.sort()
B.sort()
if len(A) > len(B): return False
k = 0
for i in range(0,len(A)):
for j in range(k,len(B)):
if A[i] == B[j]:
if i == len(A)-1:
return True
else:
break
if j < len(B)-1:
k = j+1
else:
break
return False
测试:
## 比较两个列表A和B是否A包含于B,可以比较有间隔的列表
l1
Out[203]: [1, 2, 3]
l2
Out[204]: [1, 2, 3]
l3
Out[205]: [1, 2, 4, 5]
l4
Out[206]: [1, 2, 4]
l5
Out[207]: [1, 3]
allin(l1,l1)
Out[208]: True
allin(l1,l2)
Out[209]: True
allin(l5,l1)
Out[210]: True
allin(l5,l3)
Out[211]: False