[英]How to iterate through an array and assign each item to each dictionary key
我有一個數組和一個字典
var list = ["A", "B", "C","D"]
var dict = [
"Chapter 1 Body" : "",
"Chapter 2 Body" : "",
"Chapter 3 Body" : "",
"Chapter 4 Body" : ""
]
我想遍歷列表數組並將每個項目分配給字典的每個鍵。 這是我打印 dict 時預期的 output:
["Chapter 1 Body": "A", "Chapter 2 Body": "B", "Chapter 3 Body": "C", "Chapter 4 Body": "D"]
注:順序應與印制的 output 相同。
您可以使用zip
並對鍵進行排序(如果字母排序順序是字典鍵的正確順序)
dict = zip(dict.keys.sorted(), list).reduce(into: [:]) {$0[$1.0] = $1.1}
如果鍵是按其他順序排序的,那么您需要將它們放在一個數組中,而不是按正確的順序排列,但解決方案基本相同
var chapters = ["Chapter 1 Body", "Chapter 2 Body", "Chapter 3 Body", "Chapter 4 Body"]
let dict = zip(chapters, list).reduce(into: [:]) {$0[$1.0] = $1.1}
var i = 0
for k in dict.keys.sorted() {
dict[k] = list[i]
i += 1
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.