code: def safe_zip(*args):
      """like zip but with these properties:
      - returns a list, rather than an iterator. This is the old Python2 zip behavior.
      - a guarantee that all arguments are the same length.
      (normal zip silently drops entries to make them the same length)
      """
      length = len(args[0])
      if not all(len(arg) == length for arg in args):
          raise ValueError(
              "Lengths of arguments do not match: "
              + str([len(arg) for arg in args])
          )
      return list(zip(*args))
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  from collections import OrderedDict
  import warnings
  import logging
  import os
  import re
  import subprocess
  import numpy
  from six.moves import xrange
label_desc: Use image node_id 14 for calling a global function with example usage: safe_zip() and returns: list