【问题标题】:How to implement this Python code in Swift?如何在 Swift 中实现这个 Python 代码?
【发布时间】:2019-07-18 20:37:17
【问题描述】:

如何在哈希表中实现哈希表?示例是用 Python 编写的,我需要用 Swift 编写。

graph["start"] = {} 
graph["start"]["a"] = 6
graph["start"]["b"] = 2

【问题讨论】:

标签: python swift dictionary


【解决方案1】:

首先你应该正确定义graph的类型,因为与Python不同,你必须在声明中指定Swift的类型:

var graph: [String: [String: Int]] // Dictionary(hash table) with keys of type String and values of type Dictionary<String, Int>

那么你应该用一些初始值来初始化graph,因为在Swift你总是显式地初始化不可为空的变量:

graph = [:] // empty dictionary, in Python it's {}

声明和初始化可以在一行中,所以你可以这样做:

var graph: [String: [String: Int]] = [:]

然后你的代码 sn-p,几乎没有变化:

graph["start"] = [:]
graph["start"]?["a"] = 6 // ? can be replaced with ! here, because we know for sure "start" exists
graph["start"]?["b"] = 2 // but for simple tutorial purposes, I chose to use ? here

但如果你能一次定义"start" 值会更好:

graph["start"] = [
    "a": 6,
    "b": 2
]

甚至整个graph:

let graph: [String: [String: Int]] = [
    "start": [
        "a": 6,
        "b": 2
    ]
] 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-06
    • 2022-09-29
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 2011-06-16
    相关资源
    最近更新 更多