2016-03-31 60 views
0

多次,我查詢了一些數據,並將其保存到字典中斯威夫特這樣的:如何檢查是否孩子出現在一本字典

[[route1: [date, destination, description], 
[route2: [date, destination, description]]] 

我要檢查的「目標」是否會發生多次,然後將這些條目保存到單獨的字典中。我可以做檢查的第一部分,但我無法弄清楚如何將[路由:[日期,目標,描述]]的每個捕獲元素保存到單獨的字典中。我能做到的唯一方法就是在不止一個的時候添加它們,但是我錯過了第一個。 有人能告訴我如何做到這一點?

回答

0

創建一個新的詞典(我們稱之爲reverseMap)。

循環遍歷原始字典中的每個鍵值對。

對於每一對:

在你reverseMap,看你是否有一個關鍵尚未包含您的原始字典的(如有必要崩潰,你要考慮必要的,如相似的價值觀,陣列中標準化不同的訂單,或者如果你只關心destination是一樣的)。如果還沒有,請創建它,然後將值設置爲包含一個元素的數組:當前的來自您的原始字典。

如果你已經有這樣的關鍵,你已經找到了重複;在這一點上,你應該添加到數組reverseMap[key]包含您的原始字典中的當前密鑰。

這應該提供您需要的所有信息。完成後,reverseMap將包含原始字典中的每個value映射到該值的原始字典中的每個鍵的完整列表。

+1

謝謝!這工作。 – Amalie

相關問題