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'}]
'''
Python calculates the intersection, union, and difference of two arrays
Guess you like
Origin blog.csdn.net/songpeiying/article/details/130680326
Ranking