如何将元组列表元素按关联关系归类至不同分组
实现数字连通分组的解决方案
嘿,这个问题本质上是找无向图的连通分量——把每个数字当成节点,每个元组当成连接两个节点的边,最终所有连通的节点就构成一个bucket。
先看你提供的输入数据:
data = [(1, 5), (7, 2), (3, 4), (4, 8), (6, 3), (5, 2)]
分组规则
若某元组中的数字出现在另一元组中,则这些数字应归入同一bucket;否则归入不同bucket。
按照这个规则处理后,我们会得到两个独立的分组:
Bucket A
对应的数字集合:
bucket_a = {1, 5, 2, 7}
关联的元组:
(1, 5) (5, 2) (7, 2)
Bucket B
对应的数字集合:
bucket_b = {3, 4, 6, 8}
关联的元组:
(3, 4) (4, 8) (6, 3)
(补充说明:(6,3)里的3已经在(3,4)所在的分组中,所以6也被归入Bucket B,和给出的集合完全匹配~)
内容的提问来源于stack exchange,提问作者user4426017
相关产品推荐
相关产品推荐

