Итак, я подумывал создать список сравнения, в котором у меня есть список A (Old_list), который содержит:
{'name': 'Jesus and Mary', 'sizeslist': ['Low', 'Medium', 'High']}
и список B (продукт), который содержит
{'name': 'Apple and Juice', 'sizeslist': None}
* 1006.* Итак, в начале я проверил, была ли длина списка размеров больше, чем в списке B, и он должен заменить его.
old_list = [{'name': 'Jesus and Mary', 'sizeslist': ['Low', 'Medium', 'High']}]
while True:
product = [{'name': 'Apple and Juice', 'sizeslist': None}]
if product not in old_list:
a = product['sizeslist']
if old_list != []:
old_list_value = old_list[0]['sizeslist']
if len(old_list_value) < len(a):
print("Higher than old_list!")
old_list[0] = product
break
elif len(old_list_value) > len(a):
old_list[0] = product
break
else:
old_list.append(product)
проблема в том, что я получаю object of type 'NoneType' has no len()
иУ меня вопрос, как я могу улучшить код, чтобы я не получил ошибку no len (), а также смог изменить просто список размеров вместо всего списка.
РЕДАКТИРОВАТЬ:
old_list = {'name': 'Jesus and Mary', 'sizes': ['Low', 'Medium', 'High']}
while True:
new_list = {'name': 'Apple and Juice', 'sizes': None}
try:
if new_list['sizes'] not in old_list['sizes']:
if old_list['sizes'] < new_list['sizes']:
print("New element!!!")
old_list['sizes'] = new_list['sizes']
break
elif old_list['sizes'] > new_list['sizes']:
old_list['sizes'] = new_list['sizes']
break
else:
randomtime = random.randint(5, 10)
time.sleep(randomtime)
continue
except Exception as err:
logger.error(err)
randomtime = random.randint(1, 2)
time.sleep(randomtime)
continue