Mercurial > repos > shellac > sam_consensus_v3
view env/lib/python3.9/site-packages/networkx/algorithms/community/community_utils.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
line wrap: on
line source
"""Helper functions for community-finding algorithms.""" __all__ = ["is_partition"] def is_partition(G, communities): """Returns *True* if `communities` is a partition of the nodes of `G`. A partition of a universe set is a family of pairwise disjoint sets whose union is the entire universe set. Parameters ---------- G : NetworkX graph. communities : list or iterable of sets of nodes If not a list, the iterable is converted internally to a list. If it is an iterator it is exhausted. """ # Alternate implementation: # return all(sum(1 if v in c else 0 for c in communities) == 1 for v in G) if not isinstance(communities, list): communities = list(communities) nodes = {n for c in communities for n in c if n in G} return len(G) == len(nodes) == sum(len(c) for c in communities)