喜重指數字典我有一個類型的詞典:刪除和斯威夫特
1:[[12.342,34.234],[....,...],....] 2:[[......],[....]]....
現在我想知道是否有功能進行刪除細節鍵通訊員價值和功能例如,如果我將值記者刪除到密鑰2,則密鑰3應該變爲密鑰2等等。
喜重指數字典我有一個類型的詞典:刪除和斯威夫特
1:[[12.342,34.234],[....,...],....] 2:[[......],[....]]....
現在我想知道是否有功能進行刪除細節鍵通訊員價值和功能例如,如果我將值記者刪除到密鑰2,則密鑰3應該變爲密鑰2等等。
我認爲你需要使用一個數組,而不是一個字典
var elms: [[[Double]]] = [
[[0.1],[0.2, 0.3]],
[[0.4], [0.5]],
[[0.6]],
]
elms.remove(at: 1) // remove the second element
print(elms)
[
[[0.10000000000000001], [0.20000000000000001, 0.29999999999999999]],
[[0.59999999999999998]]
]
是輸出值略微偏離原有的different。
要刪除一個鍵和值,只需要dict[key] = nil
。
至於重新索引,字典鍵沒有任何特定的順序,並將所有的值轉移到不同的鍵是不是如何設計字典的工作。如果這對你很重要,也許你應該使用類似於一對數組的東西。
詞典沒有排序。這意味着「密鑰3」變爲「密鑰2」不是受支持的方案。如果按鍵的順序與插入它們的順序相同,那麼到目前爲止您已經很幸運了,因爲這絕對不能保證。
如果你想要排序並且你的鍵/值對的列表很小(大約是一百個左右),你應該考慮使用一個數組元組:[(Key, Value)]
。這保證了訂購。如果你需要比那個更快的鍵或更快的鍵查找,你應該找到一種方法來定義鍵之間的順序關係(例如,你可以說應該總是在其他鍵之後),並使用排序的集合,如this one。
謝謝我以爲在命令字典處使用* .sorted {($ 1.key> $ 0.key)}函數 –
如果鍵是一個數字,爲什麼不只是使用一個數組,並通過索引訪問它呢? – vikingosegundo
他們是座標數組,每個數組區分一條路線@vikingosegundo –
爲什麼你需要一個字典在他們周圍,有int鍵? – vikingosegundo