簡體   English   中英

使用 update() 在 for 循環中將字典添加到字典中

[英]Adding a dictionary into a dictionary in a for loop with update()

我正在嘗試將 for 循環中每次迭代生成的臨時字典添加到最終字典中。 這個最終字典的目的是匯總循環中生成的每個臨時字典。 臨時字典的鍵是隨機生成的數字,值也是隨機數列表。 在論壇上搜索如何執行此操作時,我經常遇到 update() function,其工作方式如下:final_dictionary.udpate(temporary_dictionary)。 但是,我遇到了這個 function 的問題。這是我的代碼:

import random
final_dictionary = {}
for i in range(30):
     rd_key = random.randint(1, 10)
     rd_value = [random.randint(1, 10) for i in range(0, 10)]
     temp_dictionary = {rd_key: rd_value}
     final_dictionary.update(temp_dictionary)

我希望從這個循環中得到的最終字典包含 30 個項目,對應於循環中每次迭代生成的 30 個臨時字典。

但是,每次我運行該程序時,我都會獲得一個僅包含 9 個項目的最終字典,對應於循環中生成的一些(但不是全部)臨時字典。 有誰知道為什么會這樣? (我正在研究 Python 3.7.9)

字典鍵是唯一的 rd_key = random.randint(1, 10)可以產生 9 個唯一鍵: [1,2,3,4,5,6,7,8,9] 因此, final_dictionary的最大大小為 9 個元素。

暫無
暫無

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

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