code: def _align_column(strings, alignment, minwidth=0, has_invisible=True):
      """[string] -> [padded_string]
  
      >>> list(map(str,_align_column(["12.345", "-1234.5", "1.23", "1234.5", "1e+234", "1.0e234"], "decimal")))
      ['   12.345  ', '-1234.5    ', '    1.23   ', ' 1234.5    ', '    1e+234 ', '    1.0e234']
  
      >>> list(map(str,_align_column(['123.4', '56.7890'], None)))
      ['123.4', '56.7890']
  
      """
      if alignment == "right":
          strings = [s.strip() for s in strings]
          padfn = _padleft
      elif alignment == "center":
          strings = [s.strip() for s in strings]
          padfn = _padboth
      elif alignment == "decimal":
          decimals = [_afterpoint(s) for s in strings]
          maxdecimals = max(decimals)
          strings = [
              s + (maxdecimals - decs) * " "
              for s, decs in zip(strings, decimals)
          ]
          padfn = _padleft
      elif not alignment:
          return strings
      else:
          strings = [s.strip() for s in strings]
          padfn = _padright
  
      if has_invisible:
          width_fn = _visible_width
      else:
          width_fn = len
  
      maxwidth = max(max(map(width_fn, strings)), minwidth)
      padded_strings = [
          padfn(maxwidth, s, has_invisible) for s in strings
      ]
      return padded_strings
  
imports: from __future__ import print_function
  from __future__ import unicode_literals
  from collections import namedtuple
  from platform import python_version_tuple
  import re
label_desc: Use image node_id 16 for calling a global function with example usage: _align_column(strings, alignment, minwidth, has_invisible) and returns: padded_strings, strings