将字典值添加到列表中,这是字典的值
Adding dictionary values to a list, which is a value to a dictionary
我有一个 python 字典,其中包含值字段作为列表。
我想根据键值将字典值附加到每个列表。
我该怎么做?我有一个示例字典,我对其进行迭代并获取值以附加到列表中。我以某种方式编写的代码似乎将示例字典中的所有值添加到字典中的所有键值中,我将值附加到。
我做错了什么?
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)
我有一个 python 字典,其中包含值字段作为列表。 我想根据键值将字典值附加到每个列表。 我该怎么做?我有一个示例字典,我对其进行迭代并获取值以附加到列表中。我以某种方式编写的代码似乎将示例字典中的所有值添加到字典中的所有键值中,我将值附加到。 我做错了什么?
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)