Я не уверен, что ваш ожидаемый результат - правильный словарь Python.Можете ли вы проверить это?Также у вас есть список из списка списков строк.Это то, что вы хотите?
В качестве примера вложенных словарей, пожалуйста, рассмотрите фрагмент ниже.
values = [['a', 'b', 'c'], ['d', 'e', 'f']]
dict = {}
for i, j in enumerate(values):
dict[i] = {}
for k, l in enumerate(j):
dict[i][k] = l
print(dict)
# {0: {0: 'a', 1: 'b', 2: 'c'}, 1: {0: 'd', 1: 'e', 2: 'f'}}
Альтернативное решение
from collections import defaultdict
values = [['a', 'b', 'c'], ['d', 'e', 'f']]
dict = {}
for i, j in enumerate(values):
dict[str(i)] = defaultdict(list)
for k in j:
dict[str(i)][0].append(k)
print(dict)
# {'0': defaultdict(<class 'list'>, {0: ['a', 'b', 'c']}),
# '1': defaultdict(<class 'list'>, {0: ['d', 'e', 'f']})}
В качестве словарного понимания
print({i: {k: l for k, l in enumerate(j)} for i, j in enumerate(values)})
# {0: {0: 'a', 1: 'b', 2: 'c'}, 1: {0: 'd', 1: 'e', 2: 'f'}}
Последнее решение самое быстрое.