0
我新编程我只是在操场上玩耍,我试图在词典中循环做一些计算并将它们添加到新字典中,但是我只能添加一个字典值。我不知道为什么。可以再告诉我并指出这一点吗?Swift3循环词典增加值
var name:String?
var popDict: [String: Array<Double>]?
var FinalDict: [String: Array<Double>]?
var mean: Double?
var elementSideArr: Array<Double>?
var nameArray = ["Olivia": [1,2,2,2,1,2,1,0.0001,0,1,2], "Amber": [52,52,65,66,57,63,62,0.0001,0,0,0]]
var doubleArr = [Double]()
for (key, value) in nameArray{
let thisValue = value
let arrayS = thisValue.prefix(7)
let slice = arrayS[0...6]
let popSideArr = Array(slice)
let average: Double = (popSideArr as NSArray).value(forKeyPath: "@avg.self") as! Double
mean = average
let thatValue = value
let arraySS = thatValue.suffix(3)
let sslice = arraySS[8...10]
elementSideArr = Array(sslice)
elementSideArr?.insert(average, at: 0)
let dict = ["\(key)": elementSideArr!]
for (key,value) in dict{
popDict = dict
}
}
print(popDict!)
[ “奥利维亚”:[1.5714285714285714,0.0,1.0,2.0]] //这是唯一的输出,但它应该是2项。
改变你的代码后,我得到了一些unwrapper问题我应该改变什么? – kings077712
@ kings077712您的字典是可选的,因此要么将其声明更改为'var popDict:[String:Array] = [:]'或更改的行'popDict [“\(key)”] = elementSideArr!'to'popDict? “\(key)”] = elementSideArr!' –
awww我明白了Thx !!!!!学习一些新的东西:D – kings077712