code: def pad_version(left, right):
      
      pair = vcmp(left), vcmp(right)
  
      mn, mx = min(pair, key=len), max(pair, key=len)
  
      for idx, c in enumerate(mx):
  
          try:
              a = mx[idx]
              b = mn[idx]
              if type(a) != type(b):
                  mn.insert(idx, 0)
          except IndexError:
              if type(c) is int:
                  mn.append(0)
              elif isinstance(c, six.string_types):
                  mn.append('')
              else:
                  raise Exception("pad_version failed (%s) (%s)" % (left, right))
  
      return pair
docs: Returns two sequences of the same length so that they can be compared.
      The shorter of the two arguments is lengthened by inserting extra zeros
      before non-integer components.  The algorithm attempts to align character
      components.