Фильтрация ключей словаря и объединение значений по ключам в словаре python
Предоставлю пример исходных данных на python:
dict1 = {'apple': {'red': True}, 'apple-2': {'yellow': True}, 'apple-3': {'green': False}, 'melon': {'yellow': True}, 'orange': {'red': True}, 'orange-2': {'orange': False}}
Таким образом, в словаре ключи - названия фруктов, а в значениях этих ключей - словарь с цветом фрукта и его наличии на складе (True/False)
Задача: Преобразовать словарь так, чтобы он выглядел следующим образом:
dict1 = {'apple': {'red': True, 'yellow': True, 'green': False}, 'melon': {'yellow': True}, 'orange': {'red': True, 'orange': False}}
То есть нужно объединить значения в единый словарь по тем ключам, которые начинаются одинаково вплоть до '-'. В результате ключи 'apple', 'apple-1' и 'apple-2' объединяются в один 'apple', и значения этих ключей засовываются в один словарь {'red': True, 'yellow': True, 'green': False}. То же самое и с остальными фруктами.
Буду очень благодарен помощи в решении этой задачки, сам ломал голову несколько часов.