我有一些看起来像这样的数据:
<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'}
这才是关键:价值对。那么如何访问say self.data ['modifier']?
我尝试在self.data中执行key,value:但是我得到“ValueError:解压缩的值太多了” - 但是它的两个项目每个dict项目不是吗?
现在变得轻松 - 我知道我是个傻瓜,但无法理解为什么......
答案 0 :(得分:2)
您的陈述应该是:
for key, value in self.data.items()
答案 1 :(得分:1)
更好:
for key, value in self.data.iteritems()
当您对这些对进行迭代时,您应该使用iteritems()而不是items()来节省内存。 items()将在内存中构建(键,值)对的列表,而iteritems()将返回键值对的视图,您可以在常量内存空间中迭代。