当我添加到我的字典中的列表时,它实际上并没有添加到列表中? python

When i add to the list in my dictionary, it doesn't actually add to the list? python

所以,我做了一个字典,叫做 groupA,我想保存名字和多个分数。分数来自一个名为 count 的变量,它依赖于我代码另一部分的测验。我的代码将多个值添加到一个键,但我希望它们全部在一个列表中,但无论出于何种原因都没有发生。这是我的代码:

     name = input("What is your name? ")
    while name.isdigit():
        print ("That's not a name.")
        name = input("What is your name? ")
    group = input("Which group are you in; A, B or C: ")
    if group == "A":
         if name in groupA:
             groupA = pickle.load(open("groupA.p", "rb"))
             score = [count] 
             groupA[name].append(score)
             numberofvalues = len(score)
             if numberofvalues > 3:
                 print("Deleting oldest score.")
                 score.pop(1)
                 print(score)
             pickle.dump(groupA, open("groupA.p", "wb"))
         else:
            score = [count] 
            groupA[name] = [score]
            pickle.dump(groupA, open("groupA.p", "wb"))

我希望这部分代码添加到列表中的值,如果列表中的值超过三个,则删除第一个,然后如果字典中没有条目那个名字;创建一个条目,但它没有这样做。有人可以帮忙吗?谢谢!

您当前所做的相当于:

groupA[name].append([count])  # this appends a list to the list

这样做

groupA[name].append(count)  # count must be single value

在其他部分

groupA[name] = [count]  # creating new single-element list

此外,len(scores) 将始终为 1。将其替换为:

numberofvalues = len(groupA[name])