code: def hamming(u, v, w=None):
      """
      Compute the Hamming distance between two 1-D arrays.
  
      The Hamming distance between 1-D arrays `u` and `v`, is simply the
      proportion of disagreeing components in `u` and `v`. If `u` and `v` are
      boolean vectors, the Hamming distance is
  
      .. math::
  
         \\frac{c_{01} + c_{10}}{n}
  
      where :math:`c_{ij}` is the number of occurrences of
      :math:`\\mathtt{u[k]} = i` and :math:`\\mathtt{v[k]} = j` for
      :math:`k < n`.
  
      Parameters
      ----------
      u : (N,) array_like
          Input array.
      v : (N,) array_like
          Input array.
      w : (N,) array_like, optional
          The weights for each value in `u` and `v`. Default is None,
          which gives each value a weight of 1.0
  
      Returns
      -------
      hamming : double
          The Hamming distance between vectors `u` and `v`.
  
      Examples
      --------
      >>> from scipy.spatial import distance
      >>> distance.hamming([1, 0, 0], [0, 1, 0])
      0.66666666666666663
      >>> distance.hamming([1, 0, 0], [1, 1, 0])
      0.33333333333333331
      >>> distance.hamming([1, 0, 0], [2, 0, 0])
      0.33333333333333331
      >>> distance.hamming([1, 0, 0], [3, 0, 0])
      0.33333333333333331
  
      """
      u = _validate_vector(u)
      v = _validate_vector(v)
      if u.shape != v.shape:
          raise ValueError("The 1d arrays must have equal lengths.")
      u_ne_v = u != v
      if w is not None:
          w = _validate_weights(w)
      return np.average(u_ne_v, weights=w)
  
imports: from __future__ import division, print_function, absolute_import
  import warnings
  import numpy
  from functools import partial
  from collections import namedtuple
  from scipy._lib.six import callable, string_types
  from scipy._lib.six import xrange
  from scipy._lib._util import _asarray_validated
  from .None import _distance_wrap
  from .None import _hausdorff
  from ..linalg import norm
  from ..special import rel_entr
label_desc: Use image node_id 24 for calling a global function with example usage: hamming(u, v, w) and returns: np