Utilities

Helper Functions

Miscellaneous Helpers for NetworkX.

These are not imported into the base networkx namespace but can be accessed, for example, as

>>> import networkx
>>> networkx.utils.make_list_of_ints({1, 2, 3})
[1, 2, 3]
>>> networkx.utils.arbitrary_element({5, 1, 7})  
1

arbitrary_element(iterable)

Returns an arbitrary element of iterable without removing it.

is_string_like(obj)

Check if obj is string.

flatten(obj[, result])

Return flattened version of (possibly nested) iterable object.

iterable(obj)

Return True if obj is iterable with a well-defined len().

make_list_of_ints(sequence)

Return list of ints from sequence of integral numbers.

make_str(x)

Returns the string representation of t.

generate_unique_node()

Generate a unique node label.

default_opener(filename)

Opens filename using system's default program.

pairwise(iterable[, cyclic])

s -> (s0, s1), (s1, s2), (s2, s3), ...

groups(many_to_one)

Converts a many-to-one mapping into a one-to-many mapping.

create_random_state([random_state])

Returns a numpy.random.RandomState or numpy.random.Generator instance depending on input.

nodes_equal(nodes1, nodes2)

Check if nodes are equal.

edges_equal(edges1, edges2)

Check if edges are equal.

graphs_equal(graph1, graph2)

Check if graphs are equal.

Data Structures and Algorithms

Union-find data structure.

UnionFind.union(*objects)

Find the sets containing the objects and merge them all.

Random Sequence Generators

Utilities for generating random numbers, random sequences, and random selections.

powerlaw_sequence(n[, exponent, seed])

Return sample sequence of length n from a power law distribution.

cumulative_distribution(distribution)

Returns normalized cumulative distribution from discrete distribution.

discrete_sequence(n[, distribution, ...])

Return sample sequence of length n from a given discrete distribution or discrete cumulative distribution.

zipf_rv(alpha[, xmin, seed])

Returns a random value chosen from the Zipf distribution.

random_weighted_sample(mapping, k[, seed])

Returns k items without replacement from a weighted sample.

weighted_choice(mapping[, seed])

Returns a single element from a weighted sample.

Decorators

open_file(path_arg[, mode])

Decorator to ensure clean opening and closing of files.

not_implemented_for(*graph_types)

Decorator to mark algorithms as not implemented

nodes_or_number(which_args)

Decorator to allow number of nodes or container of nodes.

np_random_state(random_state_argument)

Decorator to generate a numpy.random.RandomState instance.

py_random_state(random_state_argument)

Decorator to generate a random.Random instance (or equiv).

argmap(func, *args[, try_finally])

A decorator to apply a map to arguments before calling the function

Cuthill-Mckee Ordering

Cuthill-McKee ordering of graph nodes to produce sparse matrices

cuthill_mckee_ordering(G[, heuristic])

Generate an ordering (permutation) of the graph nodes to make a sparse matrix.

reverse_cuthill_mckee_ordering(G[, heuristic])

Generate an ordering (permutation) of the graph nodes to make a sparse matrix.