如何在python中将字典项转换为扁平字符串

时间:2013-04-17 07:20:32

标签: python list dictionary

我有项目字典,我可以从中生成这样的网址

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

我得到的输出是这样的

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

但我希望网址为

number=543543&region=5,36,37

所有这些项目都在myparams dictionary

2 个答案:

答案 0 :(得分: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(',')另一端)

答案 1 :(得分:0)

看起来myparams是一个dict,其值为list

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

将构建一个新的词典。