蟒蛇。如何在列表字典中查找重复值并将其分组?

时间:2020-07-26 18:32:39

标签: python list dictionary duplicates

我需要在列表中找到任何交集,并将它们分组到新列表中。

我有一个字典,例如:

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.

1 个答案:

答案 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']]