0

我有我从中生成这样的 URL 的项目字典

request.build_absolute_uri("/myurl/" + urlencode(myparams))

我得到的输出是这样的

number=['543543']&region=['5,36,37']

但我希望网址是

number=543543&region=5,36,37

所有这些项目都在myparams dictionary

4

2 回答 2

2

您可能会发现,为了易于使用,传递doseq=True将很有用(尽管不完全是您想要的 - 但确实意味着任何 url 解析库都应该能够在没有自定义编码的情况下处理输入......)

>>> from urllib import urlencode
>>> a = range(3)
>>> urlencode({'test': a})
'test=%5B0%2C+1%2C+2%5D'
>>> urlencode({'test': a}, True)
'test=0&test=1&test=2'

否则,您必须编写自定义代码以','.join(str(el) for el in your_list)获取myparams列表/类似的值...(然后.split(',')是另一端)

于 2013-04-17T07:28:12.197 回答
0

看起来myparams是 adict具有lists 作为值。

new_params = dict(k, v[0] for k, v in dict.iteritems())

将构建一个新的字典。

于 2013-04-17T07:23:30.583 回答