字典中字典的Python列表理解?

标签 python list dictionary list-comprehension

我刚刚了解了列表推导,这是在一行代码中获取数据的一种非常快速的方法。但有些事情困扰着我。

在我的测试中,列表中有这样的字典:

[{'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'] = ... 编辑我的字典

但是列表推导对此不起作用! 而且我不能以这种方式编辑列表,因为你不能分配这样的索引。

还有其他方法吗?

最佳答案

你可以这样做:

s = dict([ (k,r) for k,r in mydict.iteritems() if r['x'] > 92 and r['x'] < 95 and r['y'] > 70 and r['y'] < 75 ])

这需要一个你指定的字典并返回一个“过滤”的字典。

关于字典中字典的Python列表理解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3231250/

相关文章:

python - 使用正则表达式获取 pandas 数据帧列中部分匹配的行索引

python - 通过python将视频上传到youtube

python - 如何将 malloc 和 free 与 python ctypes 一起使用?

c# - 如何在 List<T>.RemoveAll 方法不删除任何内容时抛出异常?

从 Python 运行 Spark 时 Java 堆大小错误

java - arrays.aslist 添加派生类 java

python - 替换嵌套数组中的多次出现

c# - 为什么我的 Dictionary<string, string> 默认不区分大小写?

Python for循环附加到字典中的每个键

python - 获取元组列表中元素元组的最大值