假设我定义了一个函数
def fun(x, dic = {}):
dic[x] = x
return dic
并将此函数放在一个四循环中,以便我有
lst = [0, 1, 2]
for i in range(len(lst)):
print fun(lst[i])
四个循环输出
{0: 0}
{0: 0, 1: 1}
{0: 0, 1: 1, 2: 2}
这似乎意味着' dic'未重置为默认值' {}'在循环的每次迭代中。但请注意,如果我改为运行四个循环
for i in range(len(lst)):
print fun(lst[i], dic = {})
我得到了相应的输出'
{0: 0}
{1: 1}
{2: 2}
我希望有人可以解释为什么' dic'没有重置,如果你知道如何在四循环中设置默认参数。