簡體   English   中英

使用 for 循環更新字典項

[英]Update dictionary items with a for loop

我想在 for 循環中更新字典項目,這是我所擁有的:

>>> d = {}
>>> for i in range(0,5):
...      d.update({"result": i})
>>> d
{'result': 4}

但我希望 d 有以下項目:

{'result': 0,'result': 1,'result': 2,'result': 3,'result': 4}

如前所述,字典的整個想法是它們具有唯一的鍵。 您可以做的是將'result'作為鍵,將list作為值,然后繼續附加到列表中。

>>> d = {}
>>> for i in range(0,5):
...      d.setdefault('result', [])
...      d['result'].append(i)
>>> d
{'result': [0, 1, 2, 3, 4]}

字典中的鍵必須是唯一的,因此您嘗試實現的目標是不可能的。 當您使用相同的鍵分配另一個項目時,您只需覆蓋前一個條目,因此您會看到結果。

也許這對你有用?

>>> d = {}
>>> for i in range(3):
...      d['result_' + str(i)] = i
>>> d
{'result_0': 0, 'result_1': 1, 'result_2': 2}

您可以修改它以滿足您的需要。

字典中的 PHA 鍵不能相同 :p 在你的例子中

{'result': 0,'result': 1,'result': 2,'result': 3,'result': 4}

您可以使用 multiplw dict 列表:

[{},{},{},{}]

字典中的同一個鍵不能有不同的值。 一種選擇是對結果進行編號:

d = {}
for i in range(0,5):
    result = 'result' + str(i)
    d[result] = i
d
>>> {'result0': 0, 'result1': 1, 'result4': 4, 'result2': 2, 'result3': 3}
>>> d = {"result": []}
>>> for i in range(0,5):
...     d["result"].append(i)
...    
>>> d
{'result': [0, 1, 2, 3, 4]}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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