>>> x = [1, 2, 3]
>>> [x[a:b + 1] for a in range(len(x)) for b in range(a, len(x))]
[[1], [1, 2], [1, 2, 3], [2], [2, 3], [3]]
Или получить их в том порядке, который вы просили:
>>> [x[a : a + n] for n in range(1, len(x) + 1)
for a in range(0, len(x) - n + 1)]
[[1], [2], [3], [1, 2], [2, 3], [1, 2, 3]]
Затем я надеюсь вставить их в качестве ключей в словаре
Вы не можете использовать списки в качестве ключей в словаре, поскольку словарь требует, чтобы его ключи были хэшируемыми и вы не могли хэшировать списки.
>>> {[1] : 'foo'}
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
{[1] : 'foo'}
TypeError: unhashable type: 'list'
Вместо этого вам нужно будет использовать кортежи в качестве ключей.