所以我有以下代碼遍歷列表並使用數據填充字典。更改字典值,同時迭代它
self.data = [["name1.co.uk", "123", "A", "1.2.3.4"],["name2.com", "122", "NS", "ns1.google.com"]]
for each_list in self.data:
self.terrarecord[each_list[0].replace('.', '')] = {
"zone_id": self.zone_id,
"name": each_list[0] + self.url, # not sure if I need to do this
"type": each_list[2],
"ttl": each_list[1],
"records": [each_list[3].replace('\n', '')]
}
我知道這可能不是很Python的,所以對如何做任何建議,這更雄辯地將不勝感激
安美居,我想要做的是一個隨機值添加到每個當代碼在數據中循環時生成密鑰。
那麼,它說self.terrarecord[each_list[0].replace('.', '')] = {
我想補充的結束隨機生成的數字,所以最終的結果可能是這個樣子:
"key123" { # <-- This is the key that needs a random number
"id": "id",
"name": "key.co.uk",
"type": "SOA",
"records": ["1234 etc"]
}
正如你可以在迴路中看到它使用的是相同的數據在data
列表中以填充多個鍵,並且第一個鍵需要是唯一的,因此爲什麼我想在循環中添加整數。
我希望這是有道理的。這很難解釋。
感謝
什麼在'self.data'? 'each_list'的組成是什麼? – depperm
對不起,現在添加了一個示例。 –
一個改進可能是將self.data中的「內部」列表更改爲「namedtuple」。甚至將他們推廣到全班,然後在該班的方法中實施一些邏輯。 –