将多个键值对添加到现有词典中

时间:2017-02-02 17:07:34

标签: swift dictionary

我创建了一个字典,它已经有了几个值,但是,我现在想要添加更多。而且我知道我可以像这样添加键值对:

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

但是我想知道如何同时添加很多对,因为如果它们太多而且这样做会很长。

我知道这可以在这样的数组中完成:

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

但不知道是否可以对字典做同样的事情。

1 个答案:

答案 0 :(得分:1)

你可以用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中。