所以我试图只允许程序为每个键(名称)存储最后3个分数(值),但是我遇到了一个问题,程序只存储最后3个分数,然后不更新最后3个分数,或者程序附加更多的值,然后它应该这样做。
我目前掌握的代码是:
#appends values if a key already exists
while tries < 3:
d.setdefault(name, []).append(scores)
tries = tries + 1
最佳答案
虽然我不能完全理解你的问题,但我从中得到的概念是,你只想把最后三个分数存储在列表中。这是一项简单的任务。
d.setdefault(name,[]).append(scores)
if len(d[name])>3:
del d[name][0]
此代码将检查每次添加的列表长度是否超过3。如果超过,则删除第一个元素(在最后三个元素之前添加)