【发布时间】:2011-03-14 23:03:03
【问题描述】:
我刚刚了解了列表推导,这是在一行代码中获取数据的一种非常快速的方法。但有些事情困扰着我。
在我的测试中,列表中有这样的字典:
[{'y': 72, 'x': 94, 'fname': 'test1420'}, {'y': 72, 'x': 94, 'fname': 'test277'}]
列表理解 s = [ r for r in list if r['x'] > 92 and r['x'] < 95 and r['y'] > 70 and r['y'] < 75 ] 完美地工作(事实上,它是这一行的结果)
无论如何,我后来意识到我并没有真正在我的其他项目中使用列表,我使用的是字典。像这样:
{'test1420': {'y': '060', 'x': '070', 'fname': 'test1420'}}
这样我就可以简单地用var['test1420'] = ...编辑我的字典
但是列表推导对此不起作用! 而且我不能以这种方式编辑列表,因为你不能分配这样的索引。
还有其他方法吗?
【问题讨论】:
-
列表推导可能很酷,但不要过火。没有严格的规则反对巨大的理解,但对于它的价值,谷歌的 Python 样式指南建议不要任何过于复杂的东西:google-styleguide.googlecode.com/svn/trunk/…
标签: python list dictionary list-comprehension