Python中字典的实现

Python中字典的实现,python,arrays,list,dictionary,Python,Arrays,List,Dictionary,我对Python比较陌生(但不熟悉编程),我对Python中字典的工作方式感到非常困惑。我有一个保存当前玩家分数的程序。每当游戏结束时,我都需要用“用户名”、“运行时”和“错误”等关键字将分数保存在字典中。因此,我的最终输出类似于: 分数-用户名-运行时-错误 10----简----7秒----3-- 15----布莱恩----7秒----3-- 12------戴夫------7s------3-- 09----光环----7秒----3-- 在终端中,我应该显示字典的输出,我认为应该是: {

我对Python比较陌生(但不熟悉编程),我对Python中字典的工作方式感到非常困惑。我有一个保存当前玩家分数的程序。每当游戏结束时,我都需要用“用户名”、“运行时”和“错误”等关键字将分数保存在字典中。因此,我的最终输出类似于:

分数-用户名-运行时-错误

10----简----7秒----3--

15----布莱恩----7秒----3--

12------戴夫------7s------3--

09----光环----7秒----3--

在终端中,我应该显示字典的输出,我认为应该是:

{ '10' : ['username': Jane, 'runtime': 7s, 'errors':3], '15' : ['username': Brian, 'runtime': 7s, 'errors':3], and so on and so forth

这可能吗?这里的解决方法应该是什么?感谢您的帮助

每个字典元素由两部分组成: -钥匙 -价值观 键应该是唯一且不可变的(字符串、整数、集合等) 分数是不可变的(整数),但可能不是唯一的。如果几个玩家获得相同数量的分数,您将无法在同一个键下存储他们的数据

考虑以下结构:

  • 以用户名作为键的字典 {用户名:[分数,运行时,错误],…}

  • 名单 [[用户名、分数、运行时、错误],…]


  • 要使用keys用户名将分数保存在字典中,请执行以下操作:

    scores = {}
    scores["Name"] = [runtime, score]
    
    然后使用分数[“名称”][0]或分数[“名称”][1]

    或者,如果你真的想使用像“score”或“runtime”这样的键,你可以在score dict中使用另一个dict

    scores = {}
    scores["Name"] = {"runtime": 10, "score": 100}
    

    并使用
    scores[“Name”][“scores”]或scores[“Name”][“runtime”]
    获取分数或运行时。

    1。你的内部结构是列表,而不是字典。2.为什么分数是外键?两个用户不能得到相同的分数吗?感觉用户名应该是外键(如果有的话。为什么不只是一个字典列表呢?
    [{'username':'Jane','runtime':'7s','score':10},{'username':'Brian','runtime':'7s','score':15}]
    )事实上,我意识到这并不是让我困惑的问题。这是指令。说明中说,“游戏结束后,将分数保存在字典中,并输入用户名、时间和错误”。我不知道这意味着什么,也不知道输出应该是什么。这有意义吗?最有意义的事情是询问编写说明的人。就好像目标在某种程度上类似于“排行榜”的概念。试图让说明有意义。因为即使是分数或用户名也可以在最终输出中重复,但是用户名、运行时和错误的组合可能不会重复,并且可以被视为键和值,而将用户名作为键的scoredictionary可能会起作用,并且更有意义。我只是目前不知道如何在语法上进行(将列表指定为键的值),但现在将对其进行探索。非常感谢你。