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

我尝试在 self.data 中为 key, value 做:但我得到“ValueError: too many values to unpack” - 但它的两个项目每个 dict 项目不是吗?

现在放轻松-我知道我是个傻瓜,但不知道为什么..

4

2 回答 2

2

你的 for 语句应该是:

for key, value in self.data.items()
于 2013-04-04T01:21:20.877 回答
1

更好的是:

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

当您迭代这些对时,您应该使用 iteritems() 而不是 items() 来节省内存。items() 将在内存中建立 (key, value) 对的列表,而 iteritems() 将返回键值对的视图,您可以在恒定的内存空间中对其进行迭代。

于 2013-04-04T02:52:59.707 回答