得到一定範圍的密鑰我有一個Dictionary
,對於大多數操作我只需要檢索的鑰匙的一個條目,但對於一些操作,我需要與一系列相關的條目工作鍵。發生在我身上的做法是使用GetKeys
和FindAll
,它們與我感興趣的範圍相匹配,但想知道是否有人可以提出更好的方法。有效的方法來從字典
3
A
回答
4
A Dictionary
它被實現爲散列表並不特別適合於高效地對密鑰執行範圍選擇操作。您必須訪問所有密鑰才能在指定範圍內查找所有密鑰。完成它的一個好方法是用一個簡單的LINQ表達式來查詢它的鍵集合。
1
就像你說的,找到一切都會奏效。也許是這樣的;
dictionary.FindAll(entry => multipleStrings.Contains(entry.Key));
3
一個SortedList
或SortedDictionary
會對項目進行排序,所以你可以嘗試讓你的範圍的底部的鍵,然後遍歷元素的區間頂部。
在SortedList
使用二進制搜索會給你匹配範圍,或者最近的更大價值底部的關鍵指標。見How to perform a binary search on IList<T>?
相關問題
- 1. 最有效的方法來比較python中的兩個字典
- 2. 最有效的方法來拼合嵌套字典?
- 3. 有效的方法來存儲字典(哈希)與Python文件?
- 4. 排序字典...有效的方式來做到這一點?
- 5. 最有效的方式來比較短串小字典(解析)
- 6. .NET:從字典中產生字符串的有效方法<K,V>?
- 7. 從方法返回字典
- 8. 循環列表和字典的有效和更好的方法
- 9. 正在使用字典處理錯誤的有效方法?
- 10. 製作字典圖形的有效方法
- 11. 在磁盤上存儲Python字典的有效方法?
- 12. Python - 從(擴展的)字典中選擇第k個值的最有效方法
- 13. 熊貓:最有效的方法,使詞典的詞典從數據幀列
- 14. 有效的方法來替換字符串中的字符(Java)?
- 15. 有什麼快速的方法來修改這種字典?
- 16. 有沒有更好的方法來查找字典中的子字符串
- 17. 查詢字典中所有有效字的算法問題
- 18. 有效的方法來刪除空格
- 19. 最有效的方法來繪製silverlight
- 20. 有效的方法來跨活動
- 21. 最有效的方法來修改xml
- 22. 有效的方法來驗證XML?
- 23. 從內存有效的方式從字典中創建Python中的迭代器
- 24. 創建帶有兩個列表的字典最有效的方法是什麼?
- 25. 最有效的方法來計算1從一定的偏移量的數字
- 26. 字典ContainsKey方法
- 27. 有效的方法來測試字符串的某些單詞
- 28. 最有效的方法來找到兩個數字的總和
- 29. 有沒有更好的方法來查詢字典中的值與另一個字典中的值的關鍵?
- 30. 找到非零值字典中最大關鍵字的有效方法