Как добавлять в словарь со списками новые списки

Есть словари up_periods и down_periods, где я хочу хранить списки со значениями. Если биткоин растет каждый день, то я должен пополнять список значением этих дней. Если на следующий день курс биткоина падает, я должен этот готовый список добавить в словарь и добавлять уже падающий курс биткоина в down_periods.

данные:

{'2019-01-01': 3869.47, '2019-01-02': 3941.2167, '2019-01-03': 3832.155, '2019-01-04': 3863.6267, '2019-01-05': 3835.5983}

что я хочу сделать:

up_periods = {
'1': [2019-01-01, 2019-01-02 , 2019-01-05, 2019-01-04],
'2': [2019-01-10, 2019-01-11],
'3': [2019-01-25, 2019-01-26 , 2019-01-27, 2019-01-28, 2019-01-29],
}

Аналогично с словарем down_periods. Длина этого словаря и списка может быть любая.

Проблема: Не совсем понимаю как в цикле создавать новые списки, а также продолжать с места, когда цена начала падение.

мой код:

value = 0
up_periods = {}
down_periods = {}
values = []

for i in sorted(datesAndPrices):
    values = []
    for j in sorted(datesAndPrices):
    #    if datesAndPrices[i] <= value тут падение
        if datesAndPrices[j] > value:
            value = datesAndPrices[j];
            values.append(j)
        else:
            up_periods.update({"key": values[0], "prices": values})

Ответы (1 шт):

Автор решения: Anton Buketov

Проблема была решена. Немного пришлось изменить свой код.

value = 0
up_periods = {}
down_periods = {}
values = []
# print(datesAndPrices)

keyValues = list(datesAndPrices.keys())
pos = -1
index = 0
for j in sorted(datesAndPrices):
    pos += 1
    if pos >= len(keyValues):
        pos = len(keyValues)-1
    if datesAndPrices[j] > value:
        value = datesAndPrices[j]
        values.append(j)
    if datesAndPrices[keyValues[pos]] < value:
        value = datesAndPrices[j]
        index += 1
        up_periods.update({str(index): values.copy()})
        values.clear()
        values.append(j)
→ Ссылка