Создание пустых словарей из списка строк

Если у меня есть список строк типа

variations = ['color','size','quantity']

Можно ли каким-то образом преобразовать строки в списке в пустые словари? Результат, который мне нужен

color  = {}
size = {}
quantity = {}

Это немного сложно, но вы можете использовать locals(). Сначала вам нужно создать словарь, включающий пары ключ-значение в качестве имени вашей переменной и ее значения.

1-й путь

variations = ['color','size','quantity']

d = {} #temporary dictionary
for var in variations:
    d[var] = {}

locals().update(d) # update your local variables.

print(color) # should print {}

Однако для такого типа требований использование пространств имен является лучшей идеей, чем это. Идея похожа, но более безопасна.

Лучший способ

from types import SimpleNamespace    

variations = ['color','size','quantity']

d = {} #temporary dictionary
for var in variations:
    d[var] = {}
    
n = SimpleNamespace(**d) #create namespace with those variable,value pairs
print(n.color)
Вернуться на верх