gpt4 book ai didi

swift - 在各种条件下在字典中搜索 Swift

转载 作者:搜寻专家 更新时间:2023-11-01 05:32:07 25 4
gpt4 key购买 nike

我有简单的字典

var countOfR = [“R0”:0,“R1”:0,“R2”:0,“R3”:0,“R4”:0,“R5”:0,“R6”: 0]

我需要通过多个条件来检查这本字典。例如,下一条语句完美运行:

for index in countOfR {
if index == ("R0",2) || index == ("R1",2) || index == ("R2",2) || index == ("R3",2) || index == ("R4",2) || index == ("R5",2) || index == ("R6",2) {
type = "P"

这将找到一个“对”。但接下来我需要检查“两对”——“PP”。写这样的东西很糟糕:

if index == ("R0",2) && index == ("R1",2) || index == ("R0",2) && index == ("R2",2) || index == ("R0",2) && index == ("R3",2) || index == ("R0",2) && index == ("R4",2) || index == ("R0",2) && index == ("R5",2) || index == ("R0",2) && index == ("R6",2) || ...

等等...我还需要搜索“pair and trine”、“three pairs”等等。为了更好地理解:

[“R0”:1,“R1”:2,“R2”:1,“R3”:1,“R4”:0,“R5”:1,“R6”:0] 是 "P",

[“R0”:1,“R1”:0,“R2”:0,“R3”:1,“R4”:0,“R5”:2,“R6”:0] 也是“P”,

[“R0”:1,“R1”:0,“R2”:2,“R3”:1,“R4”:0,“R5”:2,“R6”:0] 是 "PP"

我该如何解决这个任务?请给我一些建议!

最佳答案

您的类似这样的东西没有任何意义,因为它永远不会为真。您的索引(或者它可能是什么名字)不能等于同时两个不同的东西。

我猜你只需要计算值为 2 的条目数。

你可以这样写:

func getType(_ countOfR: [String: Int]) -> String {
let pairs = countOfR.filter{$0.value == 2}.count
let trines = countOfR.filter{$0.value == 3}.count
let type = String(repeating: "P", count: pairs) + String(repeating: "T", count: trines)
return type
}
print(getType(["R0": 1, "R1": 2, "R2": 1, "R3": 1, "R4": 0, "R5": 1, "R6": 0]))
//->P
print(getType(["R0": 1, "R1": 0, "R2": 0, "R3": 1, "R4": 0, "R5": 2, "R6": 0]))
//->P
print(getType(["R0": 1, "R1": 0, "R2": 2, "R3": 1, "R4": 0, "R5": 2, "R6": 0]))
//->PP

关于swift - 在各种条件下在字典中搜索 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56278933/

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