Warning

This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.

networkx.algorithms.isomorphism.generic_multiedge_match

generic_multiedge_match(attr, default, op)[source]

Returns a comparison function for a generic attribute.

The value(s) of the attr(s) are compared using the specified operators. If all the attributes are equal, then the constructed function returns True. Potentially, the constructed edge_match function can be slow since it must verify that no isomorphism exists between the multiedges before it returns False.

Parameters:
  • attr (string | list) – The edge attribute to compare, or a list of node attributes to compare.
  • default (value | list) – The default value for the edge attribute, or a list of default values for the dgeattributes.
  • op (callable | list) – The operator to use when comparing attribute values, or a list of operators to use when comparing values for each attribute.
Returns:

match – The customized, generic edge_match function.

Return type:

function

Examples

>>> from operator import eq
>>> from networkx.algorithms.isomorphism.matchhelpers import close
>>> from networkx.algorithms.isomorphism import generic_node_match
>>> nm = generic_node_match('weight', 1.0, close)
>>> nm = generic_node_match('color', 'red', eq)
>>> nm = generic_node_match(['weight', 'color'],
...                         [1.0, 'red'],
...                         [close, eq])
...