title: Python argparse: default argument stored as string, not list
body: <p>I cannot figure out this behaviour of argparse from the documentation:</p>
  
  <pre><code>import argparse
  
  parser.add_argument("--host", metavar="", dest="host", nargs=1, default="localhost", help="Name of host for database.  Default is 'localhost'.")
  args = parser.parse_args()
  print(args)
  </code></pre>
  
  <p>Here is the output with and without an argument for "--host":</p>
  
  <pre><code>&gt;&gt; python demo.py
  Namespace(host='localhost')
  
  &gt;&gt; python demo.py --host host
  Namespace(host=['host'])
  </code></pre>
  
  <p>In particular: why does the argument to "--host" get stored in a list when it is specified but not when the default is used?</p>