Python字典到URL参数
我正在尝试将Python字典转换为string作为URL参数使用。 我确信有一个更好,更Pythonic这样做的方式。 它是什么?
x = "" for key, val in {'a':'A', 'b':'B'}.items(): x += "%s=%s&" %(key,val) x = x[:-1]  使用urllib.urlencode() 。 它需要一个键值对的字典,并将其转换为适合URL的格式(例如, key1=val1&key2=val2 )。 
 如果您使用的是Python3,请使用urllib.parse.urlencode() 
 如果你想要重复的参数,如: p=1&p=2&p=3你有两个select: 
 >>> import urllib >>> a = (('p',1),('p',2), ('p', 3)) >>> urllib.urlencode(a) 'p=1&p=2&p=3' 
或者如果你想重复参数的url:
 >>> urllib.urlencode({'p': [1, 2, 3]}, doseq=True) 'p=1&p=2&p=3' 
使用第三方Python url操作库furl :
 f = furl.furl('') f.args = {'a':'A', 'b':'B'} print(f.url) # prints ... '?a=A&b=B' 
如果你想要重复的参数,你可以做以下的事情:
 f = furl.furl('') f.args = [('a', 'A'), ('b', 'B'),('b', 'B2')] print(f.url) # prints ... '?a=A&b=B&b=B2' 
这似乎是对我来说更Pythonic,并没有使用任何其他模块:
 x = '&'.join(["{}={}".format(k, v) for k, v in {'a':'A', 'b':'B'}.items()])