我将尝试在Python中查找两个“集合”之间的交集。但是,一旦找到,我需要“联合”这两个集合并再次迭代“字典”,直到没有进一步的更改。
类似于这样:
类似于这样:
dict_={'a': {1,3,4}, 'b': {0,5,4}, 'c': {0,6,5},'e':{7,9}}
What i need:
result={'abc':{1,3,4,0,5,4,0,6,5}, 'e':{7,9}}
以下是我目前所做的:
dict_={'a': {1,3,4}, 'b': {0,5,4}, 'c': {0,6,5},'e':{7,9}}
flag=True
while flag:
done=False
for key in list(dict_):
if done: ## to break outer loop
del dict_[remove1]
del dict_[remove2]
break
for newKey in list(dict_):
if key==newKey:
continue
if len(set.intersection(dict_[key],dict_[newKey]))>0:
added_key=str(key)+str(newKey)
dict_[added_key]=set.union(dict_[key],dict_[newKey])
remove1=key
remove2=newKey
done=True
break ## to break inner loop
flag=False ## Here is the problem. I do not know what to do
这段代码的结果:
dict_
#{'ab': {0, 1, 3, 4, 5}, 'c': {0, 5, 6}, 'e': {7, 9}}
result={'abc':{1,3,4,0,5,4,0,6,5}, 'e':{7,9}}
不可能实现,因为{1,3,4,0,5,4,0,6,5}
不是一个有效的集合。 - SillyBear