В общем, вот вырезка из кода:
required_material = [{12: 1}, {2: 1.8}, {3: 2}, {2: 1}, {2: 0.6}] # список требуемых материалов (кол-в: длина)
materials_in_stock = [{6: 2.3}, {3: 2.5}, {6: 0.4}] # список имеющихся материалов (кол-в: длина)
def min_sort(dict1):
'''Функция, которая определяет минимальное
значение из всех словарей списка.
Принимает список с элементами в виде словарей
проходит по каждому значению словаря, выявляет из них наименьшее и возвращает его.'''
list_index = []
for i in range(0, len(dict1)):
a = dict1[i]
for m in a:
min_index = dict1[i][m]
list_index.append(min_index)
minimum_value = min(list_index)
return minimum_value
def compare_values(min_value_required_materials, min_value_available_materials):
'''Функция, которая удаляет из списка имеющихся материалов словарь,
в котором длина материала не соответсвует минимально длине требуемого материала.
Принимает две функции list_index с списками требуемого материала, и материала в наличии,
после чего выполняет проверку и удаляет словарь.'''
if min_value_available_materials < min_value_required_materials:
print('Имеется лишний материал, удаляю.')
for i in materials_in_stock:
if min_value_available_materials in i.values():
pass # В этом блоке нужно удалить словарь в котором имеется наше минимальное значение!!!
else:
print('Весь материал соответствует требуемой длине.')
compare_values(min_sort(required_material), min_sort(materials_in_stock))
Всю логику и задачи кода, я описал в комментариях.
Требуется удалить словарь из списка, в котором имеется минимальное значение.
пол часа думаю какое решение здесь может быть, буду ооочень благодарен за помощь.
Если не сложно, опытные питонисты, пожалуйста, сделайте ревью кода.