dict1 = {
"domain1": ["53/tcp,open,domain", "80/tcp,open,http"],
"domain2": ["22/tcp,open,ssh", "25/tcp,open,smtp", "80/tcp,open,http",
"443/tcp,open,https"],
"domain3":["22/tcp,open,ssh"]}
Я хочу сравнить dict2
с dict1
и проверить, есть ли новые ключи или значения (то есть список открытых портов), если да, тообновить dict1
dict2 = {
"domain3":["22/tcp,open,ssh","443/tcp,open,https"],
"domain4":["80/tcp,open,http", "443/tcp,open,https"],
"domain5":["80/tcp,open,http", "443/tcp,open,https"]}
Я выполнил первую часть задачи, т.е. найти новые ключи, сравнив dict2
с dict1
ключами и проверив, есть ли новыевведите dict2
и обновите dict1
.
new_item = {}
for i in dict2.keys():
if i not in dict1.keys():
new_item[i] = dict2[i]
dict1[i] = dict2[i]
print("NEW DOMAINS FOUND : ",new_item)
print(dict1) ## UPDATED with New Domains Found
Вот вывод:
NEW DOMAINS FOUND : {
'domain4': ['80/tcp,open,http', '443/tcp,open,https'],
'domain5': ['80/tcp,open,http', '443/tcp,open,https']}
{'domain1': ['53/tcp,open,domain', '80/tcp,open,http'],
'domain2': ['22/tcp,open,ssh', '25/tcp,open,smtp', '80/tcp,open,http',
'443/tcp,open,https'],
'domain3': ['22/tcp,open,ssh'],
'domain4': ['80/tcp,open,http', '443/tcp,open,https'],
'domain5': ['80/tcp,open,http', '443/tcp,open,https']}
Мне нужна помощь в решении второй части задачи, которая заключается в сравнении значений dict2 сdict1, и если в dict2
появятся какие-либо новые значения, то обновит dict1 этими значениями.
Если вы посмотрите на dict2[domain3]
и dict1[domain3]
, появится новое значениев dict2[domain3]
, с этим, теперь dict1[domain3]
должно обновляться с этим новым значением.
Вывод, который я хочу сравнивать dict2
с dict1
и обновлять значения / ключи:
dict1
{'domain1': ['53/tcp,open,domain', '80/tcp,open,http'],
'domain2': ['22/tcp,open,ssh', '25/tcp,open,smtp', '80/tcp,open,http',
'443/tcp,open,https'],
'domain3': ["22/tcp,open,ssh", "443/tcp,open,https"],
'domain4': ['80/tcp,open,http', '443/tcp,open,https'],
'domain5': ['80/tcp,open,http', '443/tcp,open,https']}
Если вам нужна дополнительная информация или у вас есть сомнения, пожалуйста, оставьте комментарий, и я обновлю вопрос.