code: def cxUniform(ind1, ind2, indpb):
      """Executes a uniform crossover that modify in place the two
      :term:`sequence` individuals. The attributes are swapped according to the
      *indpb* probability.
  
      :param ind1: The first individual participating in the crossover.
      :param ind2: The second individual participating in the crossover.
      :param indpb: Independent probability for each attribute to be exchanged.
      :returns: A tuple of two individuals.
  
      This function uses the :func:`~random.random` function from the python base
      :mod:`random` module.
      """
      size = min(len(ind1), len(ind2))
      for i in range(size):
          if random.random() < indpb:
              ind1[i], ind2[i] = ind2[i], ind1[i]
  
      return ind1, ind2
  
file_path: deap/deap/tools/crossover.py
imports: import random
  import warnings
  from itertools import repeat
label_desc: Use image node_id 4 for calling a global function with example usage: cxUniform(ind1, ind2, indpb) and returns: ind1,  ind2