In python 2.6, the following code:
import urlparse
qsdata = \"test=test&test2=test2&test2=test3\"
qs = urlparse.parse_qs(qsdata)
print qs
A sidenote for someone just wanting a simple dictionary and never needing multiple values with the same key, try:
dict(urlparse.parse_qsl('foo=bar&baz=qux'))
This will give you a nice {'foo': 'bar', 'baz': 'qux'}. Please note that if there are multiple values for the same key, you'll only get the last one.