Создание пустых словарей из списка строк
Если у меня есть список строк типа
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)