Я пытаюсь создать скрипт, в котором я проверяю old_list и new_list.Если new_list имеет значения, отличные от Old_list.С помощью оператора if-elif он проверит, имеет ли old_list больше значений / элемента, чем new_list, и если он имеет, он ничего не должен делать и наоборот.
old_list = {'name': 'Hello', 'code': ['Medium', 'Easy', 'Hard']}
while True:
new_list = {'name': 'Stackoverflow', 'code': ['Hard', 'Easy']}
try:
if any(i not in old_list['code'] for i in new_list['code']):
if old_list['code'] > new_list['code']:
print("Element removed")
old_list['code'] = new_list['code']
elif old_list['code'] < new_list['code']:
print("New elements added")
old_list['code'] = new_list['code']
else:
randomtime = random.randint(1, 2)
time.sleep(randomtime)
continue
except Exception as err:
randomtime = random.randint(1, 2)
time.sleep(randomtime)
continue
Выходные данные должны быть "Элемент удален ", и значение должно обновиться old_list['code']
с ['Medium', 'Easy', 'Hard']
до ['Hard', 'Easy']
.Но сейчас он даже не проходит через if any(i not in old_list['code'] for i in new_list['code']):
, так как значения в code
находятся в обоих, но в new_list нет "Medium", но по какой-то причине, которую я не знаю, это не проходит ивместо этого он делает else
.
Как я могу сделать так, чтобы он обновлял значения, если new_list имеет больше / меньше значений / элементов, чем old_list, и затем распечатывал, если элемент был удален или добавлен?