簡體   English   中英

Python:獲取復雜字典值的最佳方法

[英]Python: The best way to get complex dictionary values

我有以下格式的字典

{'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}],[{uuoctet-string':78.0}],[{uuoctet-string':89.0}],[{u'octet -string':65.0}],[{u'octet-string':352.0}],[{uuoctet-string':45.0}],[{u'octet-string':12.0}],[{u '八位位組字符串:45.0}],[{u'八位位組字符串:78.0}],[{u'八位位組字符串:98.0}],[{u'八位位組字符串:352.0}],[ {u'octet-string':56.0}],[{uuoctet-string':89.0}],[{uuoctet-string':78.0}],[{uuoctet-string':45.0}] ,[{u'octet-string':12.0}],[{uuoctet-string':23.0}],[{uuoctet-string':65.0}],[{u'octet-string':65.0 }],[{u'octet-string':45.0}],[{uuoctet-string':78.0}],[{uuoctet-string':899.0}],[{uuoctet-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,...等值]的最有效方法

這是對要處理的數據的各種假設,但是在示例中,您可以執行以下操作:

[ 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]
[elem[0].values()[0] for elem in yourDict['array']]

如果您有字典d ,則可以使用d.values()獲取字典中的所有值。 例如:

d = {'a': 1.0, 'b': 2.0}
print(d.values())   # [1.0, 2.0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM