Как сравнить два значения в словаре которые находятся в списке?
Имеется решение задачи по сравнению списка со словарями. Если хотя бы какое-то значение отличается, то все это дело записывается в новый список. lst1 и lst2 списки со словарями с данными. в lst3 добавляет значения с двух предыдущих если данные разнятся в lst1 и lst2
lst1 = [{'company_name': 'Djonna', 'id_company': '55663', 'city': 'Москва', 'count_review': '5'},
{'company_name': 'Vbss', 'id_company': '663388', 'city': 'Москва', 'count_review': '8'},
{'company_name': "Сберб", 'id_company': '32387', 'city': 'Москва', 'count_review': '240'}]
lst2 = [{'company_name': 'Djonna', 'id_company': '55663', 'city': 'Москва', 'count_review': '5'},
{'company_name': 'Vbss', 'id_company': '663388', 'city': 'Москва', 'count_review': '5'},
{'company_name': "Сберб", 'id_company': '32387', 'city': 'Москва', 'count_review': '240'}]
lst3 = [company for company in lst1 if company not in lst2]
Пытаюсь по аналогии с предыдущим сравнить значения в списках, но не до конца понимаю как это реализовать. Если count_review в lst1 > чем count_review в lst2 Может вы сталкивались с подобной задачей.
Ответы (1 шт):
Автор решения: Danis
→ Ссылка
попробуйте так:
lst1 = [{'company_name': 'Djonna', 'id_company': '55663', 'city': 'Москва', 'count_review': '5'},
{'company_name': 'Vbss', 'id_company': '663388', 'city': 'Москва', 'count_review': '8'},
{'company_name': "Сберб", 'id_company': '32387', 'city': 'Москва', 'count_review': '240'}]
lst2 = [{'company_name': 'Djonna', 'id_company': '55663', 'city': 'Москва', 'count_review': '5'},
{'company_name': 'Vbss', 'id_company': '663388', 'city': 'Москва', 'count_review': '5'},
{'company_name': "Сберб", 'id_company': '32387', 'city': 'Москва', 'count_review': '240'}]
lst3 = []
for el1, el2 in zip(lst1, lst2):
if int(el1['count_review']) > int(el2['count_review']):
lst3.append(el1)
print(lst3)