code: def random_product(*args, **kwds):
      """Draw an item at random from each of the input iterables.
  
          >>> random_product('abc', range(4), 'XYZ')  # doctest:+SKIP
          ('c', 3, 'Z')
  
      If *repeat* is provided as a keyword argument, that many items will be
      drawn from each iterable.
  
          >>> random_product('abcd', range(4), repeat=2)  # doctest:+SKIP
          ('a', 2, 'd', 3)
  
      This equivalent to taking a random selection from
      ``itertools.product(*args, **kwarg)``.
  
      """
      pools = [tuple(pool) for pool in args] * kwds.get("repeat", 1)
      return tuple(choice(pool) for pool in pools)
  
imports: from collections import deque
  from itertools import chain, combinations, count, cycle, groupby, islice, repeat, starmap, tee
  import operator
  from random import randrange, sample, choice
  from six import PY2
  from six.moves import filter, filterfalse, map, range, zip, zip_longest
label_desc: Use image node_id 23 for calling a global function with example usage: random_product() and returns: tuple