【发布时间】:2021-05-12 13:55:59
【问题描述】:
我有两个数组:
let data = ["12 Mai 2021", "12 Mai 2021"]
let prices = [45.0, 50.0]
现在我想将这两个转换为一个字典,如下所示:
["12 Mai 2021":45.0, "12 Mai 2021":50.0]
如果输出可以是:
[("12 Mai 2021",45.0),("12 Mai 2021",50.0)]
但我不知道这是否可能...... 在这个板上,我已经偶然发现了“zip”解决方案,如下所示:
var dictionary = [String: Double]()
zip(data, prices).forEach { dictionary[$0] = $1 }
print(dictionary)
但这只是打印出来的:
["12 Mai 2021": 50.0]
有人知道可行的解决方案吗?提前谢谢!
【问题讨论】:
-
12 Mai 2021是同一日期。第二个将覆盖第一个。 -
在字典中,键是唯一的,这就是你有“问题”的原因。
["12 Mai 2021":45.0, "12 Mai 2021":50.0]不存在。 -
zip(data, prices).map({ ($0.0, $0.1) })? -
Larne 非常感谢您解决了这两个问题!
-
@Larme
map后面的zip是不需要的。zip已经返回了map正在创建的相同元组!