2013-04-04 153 views
0

我有一些數據,看起來像這樣:列表的字典

<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']?

我嘗試了key,self.data中的值:但是我得到「ValueError:太多的值來解壓縮」 - 但它的兩個項目每個字典項不是它嗎?

去容易了 - 我知道我是一個傻瓜,但不能工作了,爲什麼..

回答

1

更妙的是:

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

當您迭代對時,您應該使用iteritems()而不是items()來節省內存。 items()會在內存中建立(鍵,值)對的列表,而iteritems()將返回鍵值對的視圖,您可以在常量內存空間中迭代該視圖。

2

您的說法應該是:

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

Duuuuhhhh。謝謝! – willwade 2013-04-04 01:25:01