【问题标题】:How to loop over a string and create a dictionary that counts the number of Characters are in that string [duplicate]如何遍历字符串并创建一个字典来计算该字符串中的字符数[重复]
【发布时间】:2021-12-31 03:02:11
【问题描述】:
let input = "aa bb c"
let expected: [Character: Int] = [
            "a": 2,
            "b": 2,
            "c": 1,
        ]

这是我的代码。知道我可能做错了什么吗?

func createCounter(string: String) {
    var charArr: [Character] = []
    let mappedChar = charArr.map { ($0, 1)}
    let counts = Dictionary(mappedChar, uniquingKeysWith: +)
    
    for char in string {
        if (char != " ") {
            charArr.append(char)
        }
    }
    
    print(counts)
    
}

【问题讨论】:

    标签: swift xcode


    【解决方案1】:

    我发现我需要做的就是创建一个没有空格的新字符串,创建并清空字典并循环遍历新字符串。这是我的新代码。

        var newString: String = ""
        var countDict: [Character: Int] = [:]
        
        for char in string {
            if (char != " ") {
                newString.append(char)
            }
        }
        
        for char in newString {
            if (countDict[char] != nil) {
                countDict[char]! += 1
            } else {
                countDict[char] = 1
            }
        }
        
        print(countDict)
        
    }
    

    【讨论】:

    • 不需要newString,你只是添加了一个不必要的步骤。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 2022-09-23
    • 2021-02-04
    • 2014-03-07
    • 1970-01-01
    • 2011-04-17
    • 2016-05-20
    相关资源
    最近更新 更多