Python:获取复杂字典值的最佳方法
我有一个字典,格式如下:
{'array': [[{u'unsigned': 15.0}], [{u'octet-string': 12.0}], [{u'octet-string': 12.0}], [{u'octet-string': 12.0}], [{u'octet-string': 45.0}], [{u'octet-string': 78.0}], [{u'octet-string': 89.0}], [{u'octet-string': 65.0}], [{u'octet-string': 352.0}], [{u'octet-string': 45.0}], [{u'octet-string': 12.0}], [{u'octet-string': 45.0}], [{u'octet-string': 78.0}], [{u'octet-string': 98.0}], [{u'octet-string': 352.0}], [{u'octet-string': 56.0}], [{u'octet-string': 89.0}], [{u'octet-string': 78.0}], [{u'octet-string': 45.0}], [{u'octet-string': 12.0}], [{u'octet-string': 23.0}], [{u'octet-string': 65.0}], [{u'octet-string': 65.0}], [{u'octet-string': 45.0}], [{u'octet-string': 78.0}], [{u'octet-string': 899.0}], [{u'octet-string': 8989.0}], [{u'octet-string': 6565.0}], [{u'octet-string': 323.0}], [{u'octet-string': 1211.0}]]}
我想知道,获取这些值 [15.0, 12.0, 12.0, 12.0, 45.0, ...] 的最有效方法是什么?
3 个回答
如果你有一个字典 d
,你可以用 d.values()
来获取字典里的所有值。比如:
d = {'a': 1.0, 'b': 2.0}
print(d.values()) # [1.0, 2.0]
在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在程序中使用它。这个过程可能会涉及到一些复杂的步骤,比如连接到数据库、查询数据、处理数据等等。
当我们在写代码时,可能会遇到一些错误或者问题,这时候就需要调试。调试就是找出代码中哪里出了问题,并修复它。这个过程可能需要我们仔细检查代码的每一部分,确保它们都按预期工作。
有时候,程序的运行速度可能会很慢,这可能是因为代码中有一些不必要的步骤或者计算。我们可以通过优化代码来提高程序的效率,让它运行得更快。
总之,编程就像是在解决一个个小谜题,我们需要不断地试错、调整,直到找到最佳的解决方案。
[elem[0].values()[0] for elem in yourDict['array']]
这段话是在说,你在处理数据的时候可能会有很多假设。不过在你给出的例子中,你可以这样做:
[ a[0].values()[0] for a in d['array'] ]
... 这里的 d
就是你之前提到的字典。这样做的结果是:
[15.0, 12.0, 12.0, 12.0, 45.0, 78.0, 89.0, 65.0, 352.0,
45.0, 12.0, 45.0, 78.0, 98.0, 352.0, 56.0, 89.0, 78.0,
45.0, 12.0, 23.0, 65.0, 65.0, 45.0, 78.0, 899.0, 8989.0,
6565.0, 323.0, 1211.0]