簡體   English   中英

Python:遍歷包含列表的字典並將鍵和值存儲在字符串中

[英]Python: Iterate Over Dictionary that Contains Lists and Store the Keys and Values in a String

params={
    'key1': 'value1',
    'key2': ['value_a','value_b']
}

這就是我的開始,但無法處理列表。

str_params = ''
for key, value in params.items():
    print (key,value)
    str_params += '&' + key + '=' + value

我正在嘗試產生此字符串。

str_params = '&key1=value1&key2=value_a&key2=value_b'     

迭代字典僅產生密鑰。 如果要生成鍵值對,請使用items()方法(Python 2.x中的iteritems items() )。

使用urllib.parse.urlencode (Python 2.x中的urllib.urlencode ):

>>> import urllib.parse
>>> urllib.parse.urlencode([
...     (key, x) for key, xs in params.items()
...     for x in ([xs] if isinstance(xs, str) else xs)
... ])
'key2=value_a&key2=value_b&key1=value1'

您可以使用手動字符串運算符,但是對於應%xx編碼的特殊字符,它需要格外小心。

您需要使用items()來訪問dictionary中的鍵和值:

>>> for i,j in params.items():
...  str_params+= '&' +i+'='+str(j)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM