我正在嘗試創建一個 for 回圈,每次回圈時將鍵和值添加到字典中。這個 for 回圈的計數器值是每次添加到字典中的鍵名的一部分。如何在不為鍵值定義單獨的集合并將它們分配給鍵值的情況下對此進行編碼?或者更好地說,我怎樣才能洗掉這條線?"y.insert(i, "這是關鍵號碼" str(i 1))"
這是我當前的代碼:
Dic = {}
y = []
for i in range(0,4):
y.insert(i, "This is key number " str(i 1))
Dic[y[i]] = "This is a constant value for all keys"
uj5u.com熱心網友回復:
您實際上只是insert串列最后一個位置的新專案(您應該使用append,但這不是重點),然后從串列中獲取該索引處的元素。相反,您可以將它分配給一個臨時變數,而不需要串列:
Dic = {}
for i in range(0,4):
x = "This is key number " str(i 1)
Dic[x] = "This is a constant value for all keys"
當然,您也不需要該變數,您可以將運算式放入[...](但可能有人認為上述內容更具可讀性):
Dic = {}
for i in range(0,4):
Dic["This is key number " str(i 1)] = "This is a constant value for all keys"
現在可以直接翻譯成字典理解:
Dic = {"This is key number " str(i 1): "This is a constant value for all keys" for i in range(0,4)}
經過一些清理(注意:f-strings 需要更新版本的 Python,但還有其他方法可以將數字格式化為不連接的字串):
dic = {f"This is key number {i 1}": "This is a constant value for all keys" for i in range(4)}
uj5u.com熱心網友回復:
如果你想堅持一些接近你開始的 for 回圈,只需執行以下操作:
Dic = {}
for i in range(0,4):
Dic[f"This is key number {i}"] = "This is a constant value for all keys"
uj5u.com熱心網友回復:
您可以使用 dict 的 fromkeys() 方法:
Dic = dict.fromkeys(map("This is key number {}".format,range(4)),"constant")
print(Dic)
{'This is key number 0': 'constant',
'This is key number 1': 'constant',
'This is key number 2': 'constant',
'This is key number 3': 'constant'}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/357684.html
