Python List 包含关系判定

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

你可能感兴趣的:(python)