if type (nodes[num]) is dict:
if
if
вносим запись
else
вносим запись
for i in nodes : #перебираются ключи - 1,2,3...
if type (nodes[i]) = dict: # если словарь уже есть
# или другой вариант - если значение в номере такой-то равно нулю if nodes[i]==0 тк сначало было {1:0, 2:0...
if first_part not in [x.split('-')[0] for x in nodes[i].keys()]: # в примере в nodes[1]
#то вносим запись
else: ... #раз пусто, значит, можно смело вносить запись
fst_part = get_service_name(vm['name'])
# получили имя машины ,которое потом надо проверять по нахождению в узле с номером.
#Идём дальше, перебираем ноды
for i in nodes : #перебираются ключи - 1,2,3...
if first_part not in [x.split('-')[0] for x in nodes[i].keys()]: # в примере в nodes[1]
#находится словарь, у которого в свою очередь есть ключи
# aff-java-7.node.eu.consul"
# aff-java-9.node.eu.consul,
# tgbot-go-7.node.eu.consul....
#Получаем список этих ключей - nodes[i].keys().
#Далее берем из них первую часть [x.split('-')[0] for x in nodes[i].keys()].
#Далее проверка if first_part not in [x.split('-')[0] for x in nodes[i].keys()]
nodes[i][first_part]=vm_res #добавляет в nodes во вложенный словарь в nodes[i] запись например
#{ "aff-java-7.node.eu.consul": { "1st_part_name:": "aff",....
fst_part = get_service_name(vm['name'])
vm_res = {'1st_part_name:' : fst_part,'os:' : vm['distribution']['description'],'memory:' : vm['memory'],'cpu:' : vm['cpu'],'cpuNumber:' : vm['cpuNumber'],'disk:' : vm['disk']}
for num in nodes:
if fst_part in vm_res:
re.match(r'aff', list(d1.keys())[0]) #True в случае совпадение