在發佈這個問題之前,我做了一些搜索,似乎有幾種不同的方法來完成這一點。如何高效地在defaultdict中進行反向查找?
但是,什麼是目前(使用Python 3)來搜索基於在defaultdict
看起來(東西)的特定價值的關鍵是這樣的最有效的方式:我想找到所有
defaultdict(list,
{'a': [[2, 3], [1, 2]],
'b': [[5, 6]],
'w': [[]],
'x': [[9]],
'z': [[5, 6]]})
鍵的值爲6.一種解決方法是編寫一個嵌套的for循環,該循環遍歷關鍵值defaultdict
的值,但我相信有更好的方法來實現這一點。
你的意思是最有效的。你必須滿足'O(n)'算法('n'是所有值中的所有項目)。其他問題:你打算做一個或多個查詢嗎? – MSeifert
幾個查找。謝謝。 –
粗略地說:創建一個從字典中派生的自定義類。重寫插入和修改方法來更新/維護反向鍵/值字典。提供一個* reverse_lookup()*方法。 –