У меня есть список элементов, скажем:
y = [1, 3, 1, 5, 1]
И я хотел бы создать словарь, в котором:
- Ключи : элементы y
- Значения : список элементов, которые появляются перед Ключом в y
Я попытался понять следующее.
a={elem:y[i] for i, elem in enumerate(y[1:])}
Однако, поскольку поле value в словаре не является списком, оно сохраняет только предыдущий элемент в последнем появлении клавиши .
Другими словами, для этого примера я получаю следующее:
{3: 1, 1: 5, 5: 3}
Есть ли способ сделать это, используя понимание?
Примечание: я забыл добавить желаемый результат.
{3: [1], 1: [3,5], 5: [1]}