I have this code:
import collections
def last3scores():
return collections.deque([], 3)
user_last3 = collections.defaultdict(last3scores)
#after this I have some more code and then this:
user_last3[name].append(score)
print(str(user_last3))
但是当我运行程序时,出现了以下情况:
defaultdict(<function last3scores at 0x0000000003806E18>, {'nick': deque([2], maxlen=3)})
我想要的是这个:
{'nick': [2]}
有没有一种方法可以在Python 3.*中实现这个?
{'nick': [2]}
吗?这就是你想要的输出吗? - Andrea Corbelliniuser_last3 = collections.defaultdict(last3scores)
你正在使用一个函数来构建字典。user_last3 = collections.defaultdict(last3scores())
应该调用这个函数。 - Mr. Edefaultdict
的第一个参数必须是可调用的。所以这是正确的。 - vovaminiof