Python calculates the intersection, union, and difference of two arrays

def arrFindDiff(arr1, arr2):
    c = set(arr1).difference(set(arr2)) # 差集, 在rigtArr,不在dic[k]
    d = set(arr2).difference(set(arr1)) # 差集, 在dic[k],不在rigtArr
    a = set(arr1).intersection(set(arr2))# 交集
    b = set(arr1).union(set(arr2)) # 并集
    return c,d, a,b



dic = {
    "time1":["id:1", "id:2"],
    "time2":["id:1"],
    "time3":["id:1", "id:2"],
    "time4":["id:1", "id:2", "id:3"]
}

rigtArr = ["id:1", "id:2"]

for k in dic:
    print(k)
    # print(dic[k])
    r = arrFindDiff(rigtArr, dic[k])
    print(r)
    print(type(r))#r类型:元组, 元组特点:不可变序列,不能修改元组中的元素。
    print(len(r))# 元组长度
    print(r[0], r[3])#访问元组第0和3位置值
    print(sorted(r))#元组内容排序

'''
---------------------打印结果
time1
(set(), set(), {'id:2', 'id:1'}, {'id:2', 'id:1'})
<class 'tuple'>
4
set() {'id:2', 'id:1'}
[set(), set(), {'id:2', 'id:1'}, {'id:2', 'id:1'}]
time2
({'id:2'}, set(), {'id:1'}, {'id:2', 'id:1'})
<class 'tuple'>
4
{'id:2'} {'id:2', 'id:1'}
[set(), {'id:2'}, {'id:1'}, {'id:2', 'id:1'}]
time3
(set(), set(), {'id:2', 'id:1'}, {'id:2', 'id:1'})
<class 'tuple'>
4
set() {'id:2', 'id:1'}
[set(), set(), {'id:2', 'id:1'}, {'id:2', 'id:1'}]
time4
(set(), {'id:3'}, {'id:2', 'id:1'}, {'id:2', 'id:3', 'id:1'})
<class 'tuple'>
4
set() {'id:2', 'id:3', 'id:1'}
[set(), {'id:3'}, {'id:2', 'id:1'}, {'id:2', 'id:3', 'id:1'}]
'''

Guess you like

Origin blog.csdn.net/songpeiying/article/details/130680326