title: Multiple values for field names in a URL query string?
body: <p>Python3's <code>urllib.parse.parse_qs</code> oddly returns a dictionary of <code>string, list&lt;string&gt;</code> for query strings:</p>
  <pre><code>&gt;&gt;&gt; import urllib.parse as p
  &gt;&gt;&gt; url = p.urlparse(&quot;http://exam.ple/path?query=string&amp;yes=no&quot;)
  ParseResult(scheme='http', netloc='exam.ple', path='/path', params='', query='query=string&amp;yes=no', fragment='')
  
  &gt;&gt;&gt; p.parse_qs(url.query)
  {'query': ['string'], 'yes': ['no']}
  </code></pre>
  <p>The function's <a href="https://docs.python.org/3/library/urllib.parse.html#urllib.parse.parse_qs" rel="nofollow noreferrer" title="documentation">documentation</a> says that:</p>
  <blockquote>
  <p>The dictionary keys are the unique query variable names and the values are lists of values for each name.</p>
  </blockquote>
  <p>Can I take advantage of this &quot;lists of values&quot; capability somehow?</p>
  <p>Neither <a href="https://en.wikipedia.org/wiki/Query_string" rel="nofollow noreferrer">Wikipedia</a>, nor <a href="https://stackoverflow.com/q/13373504/4532996">Stack Overflow</a>, nor <a href="https://www.rfc-editor.org/rfc/rfc3986#section-3.4" rel="nofollow noreferrer">the IETF specification</a> mention anything about &quot;multiple&quot; or &quot;lists&quot; of values for fields, and I can't find any such syntax:</p>
  <pre><code>&gt;&gt;&gt; p.parse_qs(p.urlparse(&quot;http://exam.ple/path?query=string&amp;yes=no/a=0&quot;).query)
  {'query': ['string'], 'yes': ['no/a=0']}
  &gt;&gt;&gt; p.parse_qs(p.urlparse(&quot;http://exam.ple/path?query=string@yes=no&quot;).query)
  {'query': ['string@yes=no']}
  &gt;&gt;&gt; p.parse_qs(p.urlparse(&quot;http://exam.ple/path?query=string;yes=no&quot;).query)
  {'query': ['string'], 'yes': ['no']}
  &gt;&gt;&gt; p.parse_qs(p.urlparse(&quot;http://exam.ple/path?query=string,yes=no&quot;).query)
  {'query': ['string,yes=no']}
  </code></pre>
  <p>No separator character seems to ever result in a key with a value containing more than one string. Is it possible?</p>