簡體   English   中英

從findall到字典列表

[英]list from findall to a dict

我有一些看起來像這樣的數據:

<subject="execute_and_get_modifiers"\><command="send_key"\><normalkey="b"\><modifier="0"\>

我有一個正則表達式可以很好地找到項目..像這樣

p = re.compile('<([\w]+)="([\w\d]+)"')
self.data =  dict(p.findall(request))

看起來像:

 {'modifier': '0', 'normalkey': 'b', 'command': 'send_key', 'subject': 'execute_and_get_modifiers'}

真正的關鍵是:價值對。 那么我如何訪問說self.data ['modifier']呢?

我嘗試對self.data中的鍵,值進行處理:但是我收到“ ValueError:要拆包的值太多”-但是每個字典項都有兩個項,對嗎?

現在輕松點-我知道我是個傻瓜,但無法弄清楚為什么。

您的for聲明應為:

for key, value in self.data.items()

更好的是:

for key, value in self.data.iteritems()

當遍歷這些對時,應該使用iteritems()而不是items()來節省內存。 items()將在內存中建立(鍵,值)對的列表,而iteritems()將返回鍵值對的視圖,您可以在恆定的內存空間中對其進行迭代。

暫無
暫無

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

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