Python程序:在集合列表中查找重复集合
当需要在集合列表中查找重复集合时,使用“Counter”和“frozenset”。
示例
下面是演示
from collections import Counter
my_list = [{4, 8, 6, 1}, {6, 4, 1, 8}, {1, 2, 6, 2}, {1, 4, 2}, {7, 8, 9}]
print("The list is :")
print(my_list)
my_freq = Counter(frozenset(sub) for sub in my_list)
my_result = []
for key, value in my_freq.items():
if value > 1 :
my_result.append(key)
print("The result is :")
print(my_result)
输出
The list is :
[{8, 1, 4, 6}, {8, 1, 4, 6}, {1, 2, 6}, {1, 2, 4}, {8, 9, 7}]
The result is :
[frozenset({8, 1, 4, 6})]
说明
-
定义一个集合值列表,并在控制台上显示它。
-
使用“frozenset”和“Counter”进行迭代。
-
这个给出了列表中每个值的频率。
-
这被分配给一个变量。
-
创建一个空列表。
-
变量的元素进行迭代,如果频率大于1,则将其附加到空列表中。
-
这在控制台上显示为输出。