Как я могу разрешить моему словарю принимать дубликаты ключей [закрыто]

У меня есть функция, которая создает словарь списков:

def Planner(calories, dislikes):
    carbs = Food.objects.filter(category='Carbs').exclude(name__in=dislikes)
    proteins = Food.objects.filter(category='Protein').exclude(name__in=dislikes)
    vegs = Food.objects.filter(category='Vegetables').exclude(name__in=dislikes)

    carb1 = random.choice(carbs)
    protein1 = random.choice(proteins)
    veg1 = random.choice(vegs)
    carb2 = random.choice(carbs)
    protein2 = random.choice(proteins)
    veg2 = random.choice(vegs)
    veg_exclude = [veg1, veg2]
    veg3 = Food.objects.filter(category='Vegetables').exclude(name__in=veg_exclude)[0]

    meals = [carb1, protein1, carb2, protein2]

    carb3 = random.choice(carbs)
    protein3 = random.choice(proteins)
    meals.append(carb3)
    meals.append(protein3)

    total_cals = sum(meal.calories * meal.portion_size_in_grams / 100 for meal in meals)

    calories_short = calories - total_cals 

    calories_per_gram = sum(meal.calories * 1 / 100 for meal in meals)

    extra_grams_needed = calories_short // calories_per_gram

    meal_dict = {
    meal.name: [meal.portion_size_in_grams + extra_grams_needed, meal.calories, meal.category, meal.pack_size]
    for meal in meals}

    meal_dict[veg1.name] = [veg1.portion_size_in_grams, veg1.calories, veg1.category, veg1.pack_size]
    meal_dict[veg2.name] = [veg2.portion_size_in_grams, veg2.calories, veg2.category, veg2.pack_size]
    meal_dict[veg3.name] = [veg3.portion_size_in_grams, veg3.calories, veg3.category, veg3.pack_size]

    for key, value in meal_dict.items():
        meal_plan_total_cals += value[0] * value[1] / 100

    meal_dict['total_calories'] = meal_plan_total_cals
    meal_dict['total_meals'] = 3

    return meal_dict

Мне нужно, чтобы словарь мог принимать дубликаты ключей, поскольку иногда функция генерирует одно и то же блюдо дважды (что нормально), но когда оно добавляется в словарь, оно просто перезаписывает существующий ключ, что не является целевой функциональностью. Как я могу изменить свой код так, чтобы meal_dict допускал дубликаты?

Вернуться на верх