假设我有这样的字符串列表
list1 = ["x","y","z"]
那么如何通过迭代创建像x = {}
,y = {}
和z = {}
这样的空字典
以下方法无效:
for i in list1:
i = dict()
答案 0 :(得分:2)
按照do not dynamiclly create variable from strings的建议
这就是说,您可以将其存储在dict
中进行存储,然后为每个键关联一个空的字典
result = {}
for idx in list1:
result[idx] = {}
print(result)
# {'x': {}, 'y': {}, 'z': {}}
答案 1 :(得分:1)
查看以下代码:
list1 = ["x","y","z"]
for i in list1:
globals()[i] = dict()
这将为您提供:
x = {}
y = {}
z = {}
要检查输出及其类型,可以执行以下操作:
print(x)
print(type(x))
print(y)
print(type(y))
print(z)
print(type(z))
答案 2 :(得分:0)
在大多数情况下,建议不要动态创建变量名。 选中Creating dynamically named variables from user input。
我不确定您要尝试做什么,但是这是否可行?
list1 = ["x","y","z"]
d = {}
for i in list1:
d[i] = {}
对于每个字符串,您将获得一个带有空字典的字典。
答案 3 :(得分:-2)
这是一种解决方案:
for i in list1:
locals()[i] = dict()