在嵌套字典中获取特定键的值的优雅方法?

时间:2013-04-16 10:40:11

标签: python dictionary

我在Python中有一个嵌套字典。我可以像这样访问A元素:

D[0]['detLog'][n]['A']

其中n是0到detLog的长度...在Matlab中我可以使用这样的东西:

D[0]['detLog'][:]['A']

:表示“适用于所有元素”。

Python中有类似内容吗?

2 个答案:

答案 0 :(得分:4)

是的,请使用list comprehension

[d['A'] for d in D[0]['detLog']]

对于使用Python的科学计算,您可能还需要查看NumPySciPy,特别是NumPy for Matlab users文档。

答案 1 :(得分:0)

我想你想要这个,虽然它不是那么漂亮:

[x['A'] for x in D[0]['detLog'].itervalues() if 'A' in x]

我们正在做的是从每个字典中提取“A”值(如果存在),否则不对结果添加任何内容。