var occurences: [Int : Int] = [:]
for number in numbers {
  if var value = occurences[number] {
    occurences[number] = ++value
  } else {
    occurences[number] = 1
  }
}

我理解前两行,它声明了一个空字典,我有一个数字数组在for-in循环中迭代,但是有人能解释一下第4行和第5行吗?我只是不明白它如何声明哪个是键,哪个是值。太感谢你了,在这里呆了两天。

最佳答案

这条线

if var value = occurences[number]

意味着它检查occurences是否为keynumber存储了一些值,然后在下一行中
 occurences[number] = ++value

它通过使用++来增加值,然后将其保存到occurences指令。

10-08 12:17