簡體   English   中英

Swift 等價於 Python Dictionary setdefault() 方法

[英]Swift equivalent of Python Dictionary setdefault() Method

Python 字典上的setdefault()方法在字典中缺少鍵時設置鍵的值並返回該值。 參考

Swift 字典有類似的方法嗎?

我試過這個:

var dic1 = ["a": 1]
let defVal = dic1["b", default: 2]
print(defVal) // prints 2
print(dic1) // prints ["a": 1]
// However, I need ["a": 1, "b": 2]

這是聲明了 setDefault 的擴展

extension Dictionary {
    mutating func setDefault(_ key: Key, value: Value) -> Value {
        if let existing = self[key] { return existing }

        self[key] = value
        return value
    }
}

例子

var d1: [String: Int] = ["A": 4]
d1["C"] = 13
d1.setDefault("B", value: 42)

print(d1)

輸出

[“A”:4,“C”:13,“B”:42]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM