2017-02-02 69 views
0

我創建了一本字典,它已經有幾個值,但是現在我想添加更多。我知道我可以添加鍵值對這樣的:將多個鍵值對添加到現有的字典

var Dict = [Int: String]() 
Dict = [1: "one", 0: "zero"] 
Dict[2] = "two" 
Dict[3] = "tres" 

但我想知道如何同時增添了不少對,因爲如果他們太多,這將是一個很長的過程就是這樣做的。

我知道這可以在陣列中做過這樣的:

Array += [1, 2, 3, 4, 5, 6] 

但不知道是否同樣可以用於字典來完成。

+1

你究竟是什麼意思,「*我想同時添加很多對」 - 這些對來自哪裏? – Hamish

+0

我的意思是一個鍵值對,比如[1:「one」]。但同時它們中的多個,就像當你在一個Array中一次添加多個值時一樣: –

+0

是的,我明白了,但我的意思是從哪裏得到這些鍵值對?它們是硬編碼還是來自某個數據源?如果你想爲你的問題添加一些背景,這將是最有幫助的。 – Hamish

回答

0

你可以使用flatmap做一些棘手的事情,但一般來說,Swift的Dictionary沒有Array所做的append(:Collection)方法,因爲追加一個未知的Dictionary會給你重複的鍵並導致錯誤。如果你想追加另一個字典,你必須迭代它。此代碼

var dict1 : [String:String] = ["one" : "two", "three" : "four"] 
var dict2 : [String:String] = ["one" : "two", "three" : "five"] 
for(key, value) in dict2 { 
    dict1[key] = value 
} 

將使用第二個字典中的值替換所有重複鍵。如果你沒有重複的鍵,這將做你想要的。如果你有重複鍵,然後確定哪些值優先,並確保這些值在你的dict2。

相關問題