如何用自己的风格将字典改为字符串?

big*_*ang 0 python json

我的目标是将dict类型更改为如下字符串: name=tom&age=12%sex=m

首先,我喜欢这样:

params=sorted([(k, v) for k, v in dic.items()])
src=""
for param in params:
    src+=param[0]+"="+param[1]+"&"
return src[:-1]
Run Code Online (Sandbox Code Playgroud)

但我希望得到更多可以完成改变的方式.

我想到了json包内置的python.我喜欢这样:

json.dumps(dict_arguments,sort_keys=True,separators=['&','='])
Run Code Online (Sandbox Code Playgroud)

结果出来了:

{"a"=1234&"b"=34532&"c"=3452}
Run Code Online (Sandbox Code Playgroud)

它是一个字符串类型.显然它不能解决我的问题.

所以,我想知道:

1,你能教我一些关于从dict到string改变外观的方法吗?

2,如果json包可以解决问题吗?我怎样才能改变{"a"=1234&"b"=34532&"c"=3452}{a=1234&b=34532&c=3452},那么这将是SASY我.

非常感谢大家〜

har*_*968 6

看起来你正在做的是改变一个dicturl params,你可以做urlencode.

>>> import urllib
>>> a = {'a':123,'b':234,'c':345}
>>> urllib.urlencode(a)
'a=123&c=345&b=234'
Run Code Online (Sandbox Code Playgroud)

  • 在Python 3中,它是[`urllib.parse.urlencode`](https://docs.python.org/3/library/urllib.parse.html#urllib.parse.urlencode). (3认同)