Как создать несколько пустых словарей из имен в списке в Python? - PullRequest
0 голосов
/ 13 июня 2019

Мне нужно создать несколько словарей из списка.если список ['dic1','dict2'], я хочу создать два разных словаря, таких как sample_dic1 и sample_dic2.если я не использую циклы, я просто наберу:

sample_dic1=dict();sample_dic2=dict()

мой вопрос, как сделать это в цикле из списка имен.

Я попытался поместить списокв цикле при каждом значении цикла, равном dict().Тем не менее, он не назначает левую сторону dict().

di_list=['dic1','dict2']
for (a) in di_list:
 'sample_{}'.format(a)=dict()

Я также попробовал это.это не дает никакой ошибки.но не работает

temp=dict()
di_list=['dic1','dict2']
for (a) in di_list:
 temp[a]='sample_{}'.format(a)
 temp[a]=dict()

, поэтому я хочу создать эти два диктрионара из значений di_list.с помощью 'sample_{}'.format(a) я могу создать желаемое имя, но привязка к dict() не работает.то есть ,.sample_{}'.format(a)=dict()

1 Ответ

1 голос
/ 13 июня 2019

Я думаю, что вы смешиваете две вещи: имена переменных и значения. Имена переменных не имеют реального эффективного значения, и если вы постоянно меняете их имена, программа остается прежней (фактически, в любом случае, это происходит на большинстве языков).

Здесь можно указать произвольное количество значений по имени, используя словарь (имя-> значение):

temp=dict()
di_list=['dic1','dict2']
for (a) in di_list:
    temp['sample_{}'.format(a)] = dict()

Теперь вы можете проверить, есть ли значения на самом деле:

assert temp['sample_dic1'] == {}  # True
assert temp['sample_dict2'] == {}  # True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...