Сначала вы должны правильно определить тип 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]] = [:]
Тогда ваш фрагмент кода, с небольшими изменениями:
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
]
]