Если у меня есть 2 дикта следующим образом:
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 пусты / Нет / ''?
[EDIT]
Вопрос: При обновлении d2 до d1, когда существует тот же ключ, я хотел бы сохранить только числовое значение (либо из d1, либо из d2) вместо пустого значения. Если оба значения являются пустыми, то нет проблем с поддержанием пустого значения. Если оба имеют значения, то значение d1 должно остаться. :) (Лота, если-еще .. я бы попробовал себя тем временем)
т.е.
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.
пожалуйста, помогите предложить.
Спасибо.