gpt4 book ai didi

swift - 单行 : create Dict key or update count in swift

转载 作者:行者123 更新时间:2023-11-28 10:48:05 24 4
gpt4 key购买 nike

似乎应该有一个简单的方法来做到这一点:

for each token
look it up in a dictionary
if it's there already, increment the value by 1
else create it and set value to 1

我可以用

for token in tokens {
if let count = myDict[token] {
myDict[token] = count + 1
} else {
myDict[token] = 1
}

但似乎必须有一种更优雅的单行方式来做到这一点?

最佳答案

您可以使用三元运算符:

for token in tokens {
myDict[token] = myDict[token] ? myDict[token]! + 1 : 1
}

更好的是,使用零合并:

for token in tokens {
myDict[token] = (myDict[token] ?? 0) + 1
}

然后将整个内容放在一行中:

tokens.forEach { myDict[$0] = (myDict[$0] ?? 0) + 1  }

使用 Swift 4(感谢 Hamish),它可以更短一些:

tokens.forEach { myDict[$0, default: 0] += 1 }

关于swift - 单行 : create Dict key or update count in swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47658408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com