Если у меня есть 2 dicts следующим образом:
d1 = {('unit1','test1'):2,('unit1','test2'):4}
d2 = {('unit1','test1'):2,('unit1','test2'):''}
Чтобы "объединить" их:
z = dict(d1.items() + d2.items())
z = {('unit1','test1'):2,('unit1','test2'):''}
Прекрасно работает. Кроме того, что делать, если я хотел бы сравнить каждое значение двух словарей и обновлять d2 до d1, если значения в d1 пусты /None/ ''?
[EDIT] Вопрос: При обновлении d2 в d1, когда один и тот же ключ существует, я хотел бы сохранить только числовое значение (либо из d1, либо d2), а не пустое значение. Если оба значения пустые, тогда никаких проблем с сохранением пустого значения. Если оба имеют значения, то значение d1 должно оставаться.:) (lota if-else.. я бы попробовал себя тем временем)
то есть.
d1 = {('unit1','test1'):2,('unit1','test2'):8,('unit1','test3'):''}
d2 = {('unit1','test1'):2,('unit1','test2'):'',('unit1','test3'):''}
#compare & update codes
z = {('unit1','test1'):2,('unit1','test2'):8, ('unit1','test2'):''} # 8 not overwritten by empty.
пожалуйста, помогите предложить.
Спасибо.