我正在尝试创建一个字典,键是列表的数字,值为“无”。但是,输出是具有单个键的字典。我认为它会将三个数字作为键返回,因为它们是不同的键,因此不会重新分配键值。
这是我的代码:
def dicc_test():
lista = [3,4,5]
for n in lista:
dicc = {}
dicc[n] = None
return dicc
print(dicc_test())
这将打印以下内容:
{5: None}
我不明白为什么它不打印这样的东西:
{3: None, 4: None, 5: None}
答案 0 :(得分:1)
您为每次循环迭代创建一个新字典。在循环之前创建一次:
def dicc_test():
lista = [3,4,5]
dicc = {}
for n in lista:
dicc[n] = None
return dicc
print(dicc_test())