title: How to force argparse to return a list of strings?
body: <p>i need to use argparse to accept a variable number of strings from command line, but when i pass zero arguments i get a string as result instead of a list of one string. </p>
  
  <pre><code>argparser = argparse.ArgumentParser()
  argparser.add_argument(
      '--example',
      nargs='*',
      default='default_value',
      type=str)
  
  args = argparser.parse_args()
  
  for e in args.example:
      print(e)
  </code></pre>
  
  <p>When executing this <code>python program --example first_arg second_arg</code> i get the expected result:</p>
  
  <pre><code>first_arg
  second_arg
  </code></pre>
  
  <p>Even with one argument everything is fine, but executing this <code>python program</code> i get:</p>
  
  <pre><code>d
  e
  f
  a
  u
  l
  t
  _
  v
  a
  l
  u
  e
  </code></pre>
  
  <p>I'd need to iterate over the list without considering how many elements it has, how could i solve this? Thank you in advance.</p>