我试图根据列表中存储的元素数量来创建新变量。
它必须看起来像这样:
dict = {}
list = [1, 2, 3, 4]
for obj in list:
if obj not in dict:
dict[obj] = var + obj = None
我该怎么做?
答案 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))
请不要使用变量名dict
和list
。它们会覆盖您名称中的内置名称,因此您必须先执行del list
和del 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}