у меня есть два словаря следующим образом:Сравнение значений двух словарей
a = {1:2, 3:4, 5:6}
b = {1:5, 3:6, 7:1}
Для каждого ключа в a
, я хочу, чтобы проверить, если ключ существует в b
, если да, то я хочу, чтобы напечатать значение как ключи, если нет, то я печатаю 0
как значение ключа в b
:
for key in a.keys():
if key in b.keys():
print key, a[key], b[key]
else:
print key, a[key], '0'
выход будет:
1 2 5
3 4 6
5 6 0
Но я также хочу, чтобы напечатать значение ключа в b
, если он не существует в a
, что является противоположностью последнего утверждения, если ключ находится в b
, но не в a
, напечатает значение ключа в b
и 0
в качестве значения ключа в a
. Выход будет:
1 2 5
3 4 6
5 6 0
7 0 1
Это должно быть просто, но я не могу понять, как я могу это сделать. Благодаря!
Спасибо! Как возможно, что set (a) работает без записи набора (a.keys())? – Homap
@Homap Поскольку итерация через словарь повторяется через клавиши. Словарь ведет себя как контейнер для своих ключей. Это также относится к 'для k в mydict' и' if k in mydict'. – khelwood