我有两个结构相同的JSON文件:
a_communities = {"communities": [{"group": "D06@domain.com", "members": ["member1", "member2"]}, {"group": "D07@domain.com", "members": ["member3"]}]}
b_communities = {"communities": [{"group": "D06@domain.com", "members": ["member1", "member2", "members3"]}, {"group": "D07@domain.com", "members": ["member4"]}]}
我想得到两个文件中同一组的区别:得到两个文件中属于/不属于同一组的成员
我试着让他们用这个函数:
def get_g_members_from_value(group, value):
for g_community in g_communities['communities']:
if g_community['group'] == str(group): #the same group then:
print "***"+str(reduce(lambda v1,v2: v1 or v2, list(set(g_community['members']).difference(value))))
if [i for i, j in zip(g_community['members'] , value) if i != j] != []:
print "members are not equal for group :"+str(group)
print "-- g members :"+str(g_community['members'])
print "-- c members :"+str(value)
print "-- diff :"+ str([i for i, j in zip(g_community['members'] , value) if i != j])
for c_community in c_communities['communities']:
get_g_members_from_value(c_community['group'], c_community['members'])
我已经打印了更多的结果,以查看差异,但它不能让我的差异,我的代码有什么问题
要将注释扩展为代码,我首先将当前的结构转换为每个社区的
{'group_name': set(group_members)}
形式的字典:然后使用^{}
和^{} :
了解两个社区成员的异同。所有这些都假设:
group
都有一个唯一的名称;以及members
列表包含可哈希对象李>相关问题 更多 >
编程相关推荐