簡體   English   中英

將字典值添加到列表,這是字典的值

[英]Adding dictionary values to a list, which is a value to a dictionary

我有一個python字典,其中有值字段作為列表。 我想根據鍵值將字典值追加到每個列表。 我該怎么做? 我有一個示例字典,可以對其進行迭代並獲取要附加到列表中的值。 我寫的代碼似乎以某種方式將樣本dict中的所有值添加到dict后面附加值的所有鍵值中。 我究竟做錯了什么?

default_value = []
a = dict.fromkeys(li, default_value)
for key, value in data.items():
    if key == "items":
        for val in value:
            a[val['owner']['display_name']].append(val)
a = dict.fromkeys([1, 2, 3], [])

創建一個字典:

{1: [],
 2: [],
 3: []}

所有值都指向同一個字典。

a[1].append(5)

{1: [5],
 2: [5],
 3: [5]}

您必須在真實循環中創建字典:

a = {k: [] for k in li}

您的代碼段可以寫為:

a = {k: [] for k in li}
for val in data['items']:
    a[val['owner']['display_name']].append(val)

暫無
暫無

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

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