我需要在列表中找到任何交集,并将它们分组到新列表中。
我有一个字典,例如:
my_dict = {A:[1, 5], B:[1, 3], C:[0, 5], D:[4, 7], E:[9, 8]}
new_list = [A, B, C]
or the dict
new_dict = [A:[1, 5], B:[1, 3], C:[0, 5]]
explanation of this A B and C have intersected value in 1 and 5.
答案 0 :(得分:2)
在这里,您可以列出所有可能的交叉点:
my_dict = {'A':[1, 5], 'B':[1, 3], 'C':[0, 5], 'D':[4, 7]}
new_list = []
for k in my_dict:
c = [k]
for l in my_dict:
if k!=l:
if any(a==b for a in my_dict[k] for b in my_dict[l]):
c.append(l)
if len(c) > 1:
new_list.append(c)
print(new_list)
输出:
[['A', 'B', 'C'], ['B', 'A'], ['C', 'A']]