Если я правильно понимаю этот вопрос, я думаю, что это то, что вы ищете
let source = [
[
"code": "DZ",
"name": "ALGERIA",
],
[
"code": "AS",
"name": "AMERICAN SAMOA",
],
[
"code": "AO",
"name": "ANGOLA",
],
]
let result = Dictionary(uniqueKeysWithValues: source.lazy.map { dict in
return (key: dict["code"]!, value: dict["name"]!)
})
print(result) // => ["AO": "ANGOLA", "AS": "AMERICAN SAMOA", "DZ": "ALGERIA"]
Слияние словарей не было подходящим инструментом для работы. Он взял бы диктовку, слил ее со вторым, имеющим те же ключи. Согласно закрытию, которое вы дали, когда два ключа сталкиваются, оно должно принимать старое значение, а не то, которое пытается объединиться. Таким образом, объединение второго dict не имеет никакого эффекта. Точно так же третий не имел никакого эффекта, либо. Вам следует прочитать документацию .
Надеюсь, сегодня вы узнали о важности минимального воспроизводимого примера и четкого вопроса. Если бы вы только что сказали «вот мои исходные данные, вот ожидаемый результат», то на такой вопрос можно было бы ответить за несколько секунд.