簡體   English   中英

如何遍歷數組並將每個項目分配給每個字典鍵

[英]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.

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