prev = {'HOST_A': [['OS_TYPE', 'AIX'], ['HAS_COBOL', '0'], ['HAS_TUXEDO', '0'], ['IP', '10.111.160.68'], ['IP', '10.111.160.66'], ['IP', '10.95.0.112']]}
current = {'HOST_A': [['OS_TYPE', 'LINUX'], ['HAS_COBOL', '0'], ['HAS_TUXEDO', '1']]}
# return a dict that contains what is missing in current data
def get_deleted(a, b):
answer = {}
for ki, vi in a.items():
try:
vd = b[ki]
except KeyError:
continue
ls_del = [i for i in vi if i not in vd]
answer[ki] = {}
answer[ki] = ls_del
return answer
b = get_deleted(prev, current)
print('result dict:', b)
for k, v in b.items():
if isinstance(v, list):
isize = len(v)
for value in v:
# print(isize)
if isize >= 1:
print(k, value[0].rstrip(), value[1].rstrip())
result dict: {'HOST_A': [['IP', '10.111.160.68'], ['IP', '10.111.160.66'], ['IP', '10.95.0.112']]}
HOST_A IP 10.111.160.68
HOST_A IP 10.111.160.66
HOST_A IP 10.95.0.112
примеры кода только с использованием Python stdlib, внешние модули невозможны.
я сравниваю два словаря, чтобы получить удаленные (не измененные) элементы минимальный пример: [code]prev = {'HOST_A': [['OS_TYPE', 'AIX'], ['HAS_COBOL', '0'], ['HAS_TUXEDO', '0'], ['IP', '10.111.160.68'], ['IP', '10.111.160.66'], ['IP', '10.95.0.112']]}
current = {'HOST_A': [['OS_TYPE', 'LINUX'], ['HAS_COBOL', '0'], ['HAS_TUXEDO', '1']]}
# return a dict that contains what is missing in current data def get_deleted(a, b): answer = {} for ki, vi in a.items(): try: vd = b[ki] except KeyError: continue ls_del = [i for i in vi if i not in vd] answer[ki] = {} answer[ki] = ls_del return answer
b = get_deleted(prev, current) print('result dict:', b)
for k, v in b.items(): if isinstance(v, list): isize = len(v) for value in v: # print(isize) if isize >= 1: print(k, value[0].rstrip(), value[1].rstrip()) [/code] выход: [code]result dict: {'HOST_A': [['OS_TYPE', 'AIX'], ['HAS_TUXEDO', '0'], ['IP', '10.111.160.68'], ['IP', '10.111.160.66'], ['IP', '10.95.0.112']]} HOST_A OS_TYPE AIX HOST_A HAS_TUXEDO 0 HOST_A IP 10.111.160.68 HOST_A IP 10.111.160.66 HOST_A IP 10.95.0.112
[/code] ожидаемый результат [code]result dict: {'HOST_A': [['IP', '10.111.160.68'], ['IP', '10.111.160.66'], ['IP', '10.95.0.112']]} HOST_A IP 10.111.160.68 HOST_A IP 10.111.160.66 HOST_A IP 10.95.0.112 [/code] примеры кода только с использованием Python stdlib, внешние модули невозможны.
Каждый элемент списка состоит из фамилии и имени, разделенной запятой. 'F, e'. Более того, в списке2 'e' содержится в другом элементе и, вероятно, не принадлежит элементу 'e b, «потому что' b, a 'of list1...
У меня проблема с XML DTO. Я пытался собрать его в Spring Boot 3.3.5 и jackson-dataformat-xml v2.18.2. Проблема здесь в том, что у меня есть два списка, которые содержат дочерние элементы с одинаковыми именами в DTO.
DTO выглядит следующим образом:...
У меня проблема с XML DTO. Я пытался собрать его в Spring Boot 3.3.5 и jackson-dataformat-xml v2.18.2. Проблема здесь в том, что у меня есть два списка, которые содержат дочерние элементы с одинаковыми именами в DTO.
DTO выглядит следующим образом:...