SciPy - DisjointSet() 方法
SciPy DisjointSet() 方法用于将数据分区集管理为不相交的子集。它用于管理层次聚类算法中的聚类。
语法
以下是 SciPy DisjointSet() 方法的语法 −
DisjointSet([item_1, item_2, ...])
参数
此方法接受列表作为参数。
返回值
此方法不返回任何值。
示例
以下是展示 SciPy DisjointSet() 方法用法的示例。
from scipy.cluster.hierarchy import DisjointSet # 创建一个包含 5 个元素的不相交集数据结构 ds = DisjointSet([1, 2, 3, 'a', 'b']) # 联合操作 ds.merge(1, 2) ds.merge(3, 'a') ds.merge('a', 'b') # 查找根元素 print(ds[2]) print(ds['b']) # 测试连通性 print(ds.connected(1, 2)) print(ds.connected(1, 'b')) # 列出不相交集中的元素 print(list(ds)) # 获取包含 'a' 的子集 print(ds.subset('a')) # 获取包含的子集的大小'a' print(ds.subset_size('a')) # 获取不相交集合中的所有子集 print(ds.subsets())
输出
上述代码产生以下输出 −
1 3 True False [1, 2, 3, 'a', 'b'] {'a', 3, 'b'} 3 [{1, 2}, {'a', 3, 'b'}]