是否有可能獲得值高於閾值的字典中的所有鍵?python詞典:如何獲得具有特定值的所有鍵
一個dicitonary可能看起來像:
mydict = {(0,1,2):"16",(2,3,4):"19"}
的閾值可以是17例如
是否有可能獲得值高於閾值的字典中的所有鍵?python詞典:如何獲得具有特定值的所有鍵
一個dicitonary可能看起來像:
mydict = {(0,1,2):"16",(2,3,4):"19"}
的閾值可以是17例如
當然是可能的。我們可以簡單的寫:
[k for k,v in mydict.items() if float(v) >= 17]
或在情況下,你用python-2.7工作,你 - 像@NoticeMeSenpai說 - 更好地利用:
[k for k,v in mydict.iteritems() if float(v) >= 17]
這是一個列表理解。我們遍歷mydict
字典中的鍵值對。接下來,我們將值v
轉換爲float(v)
並檢查該浮點值是否大於或等於17.如果是這種情況,我們將鍵k
添加到列表中。
了給定mydict
,這會產生:
>>> [k for k,v in mydict.items() if float(v) >= 17]
[(2, 3, 4)]
所以包含在這裏滿足條件的單鍵列表:(2,3,4)
。
另外值得注意的是,<2.7應該使用'dict.iteritems()'作爲資源和性能的目的 –
@NoticeMeSenpai:是的,謝謝。我將它添加到答案中。 –
不客氣! –
那是字典嗎?用字符串作爲值? –