[英]Change value of dictionary if it is in another dictionary
我有两个生成的字典列表。 一个就像一个结构如下的模板:
list_of_dicts_template = [{'year': 0, 'week': 38, 'count_tickets': 0}, {'year': 0, 'week': 39, 'count_tickets': 0}]...
另一个是包含我们已知值的字典: known_values_list = [{'year': 2022, 'week': 39, 'tickets': 47}, {'year': 2022, 'week': 40, 'tickets': 3}]...
我的问题是,我想将它们混合在一个字典列表中。 如果键 'week' 的值在字典列表known_values_list中,它将替换list_of_dicts_template中的整个字典。
因此预期的字典列表如下所示: final_list = [{'year': 0, 'week': 38, 'count_tickets': 0}, {'year': 2022, 'week': 39, 'count_tickets': 47}, {'year': 2022, 'week': 40, 'tickets': 3}]...
`
我实际上不知道如何解决这个问题。 如果我只有没有数组的字典,我会做类似的事情:
for sub in dicts_template:
if(sub in known_values):
dicts_template[sub] = known_values[sub]
但如果它在 arrays 中,我就完全迷路了。
您可以使用以下代码:
for i,d1 in enumerate(list_of_dicts_template):
for j, known_value_d in enumerate(known_values_list):
if known_value_d['week'] == d1['week']:
list_of_dicts_template[i] = known_value_d
del known_values_list[j]
如果list_of_dicts_template
中不应该有任何重复的星期,则只添加删除known_values_list
中的元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.