如何在字典中创建新变量

时间:2019-07-23 10:20:43

标签: python dictionary variables

我试图根据列表中存储的元素数量来创建新变量。

它必须看起来像这样:

dict  = {}
list = [1,  2, 3, 4]
for obj in list:
  if obj not in dict: 
      dict[obj] = var + obj = None

我该怎么做?

4 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

>>> l = [1, 2, 3, 4]
>>> d = {'var%d' % el: None for el in l}
>>> d
{'var4': None, 'var1': None, 'var3': None, 'var2': None}

答案 1 :(得分:0)

如果您要使用列表中的值作为关键字在字典中添加新项目,则可以尝试

dict[obj] = new_value

答案 2 :(得分:0)

您可以使用构造函数类方法dict.fromkeys向字典中预添加任意数量的键:

d = dict.fromkeys(f'var{x}' for x in lst)

OR

d = dict.fromkeys(map('var{}'.format, lst))

请不要使用变量名dictlist。它们会覆盖您名称中的内置名称,因此您必须先执行del listdel dict才能使用内置类。

答案 3 :(得分:0)

这是一个列表较长且重复的示例:

myDict  = {}
    myList = [1, 2, 3, 4, 3, 2, 8, 1]
    for obj in myList:
        if obj not in myDict: 
            myDict["var" + str(obj)] = None

输出为:

myDict {'var1': None, 'var2': None, 'var3': None, 'var4': None, 'var8': None}