Как превратить словарь в строку? - PullRequest
1 голос
/ 04 февраля 2010
params = {'fruit':'orange', 'color':'red', 'size':'5'}

Как я могу превратить это в строку:

fruit=orange&color=red&size=5

Ответы [ 4 ]

11 голосов
/ 04 февраля 2010

Вы можете сделать это так:

'&'.join('%s=%s' % (k,v) for k,v in params.items())

Если вы создаете строки для URL-адреса, лучше использовать urllib, поскольку это также будет корректно для вас:

>>> params = { 'foo' : 'bar+baz', 'qux' : 'quux' }
>>> urllib.urlencode(params)
'qux=quux&foo=bar%2Bbaz'
3 голосов
/ 04 февраля 2010

Вы спрашиваете об этом?

>>> params = {'fruit':'orange', 'color':'red', 'size':'5'}
>>> import urllib
>>> urllib.urlencode( params )
'color=red&fruit=orange&size=5'
3 голосов
/ 04 февраля 2010

Если вы кодируете параметры URL, вы можете использовать urllib.urlencode для этого.Например:

import urllib
params = {'fruit':'orange', 'color':'red', 'size':'5'}
encoding = urllib.urlencode(params)

это также пропустит dict через urllib.quote_plus.

2 голосов
/ 04 февраля 2010

Если вы хотите создать строку запроса, Python поставляется с батареями:

 import urllib
 print(urllib.urlencode({'fruit':'orange', 'color':'red', 'size':'5'}))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...