【发布时间】:2018-03-17 20:42:54
【问题描述】:
我是编程的初学者(也是一个老年人),所以我真的不知道如何正确表达我想要的东西。我已尝试尽可能详尽地描述我的问题,因此非常感谢您的耐心等待!
我想存储与每个用户关联的获胜分数。
- 每个用户的获胜分数都会不同。
- 我不需要将用户的名字和姓氏分开,它们都可以是一个字符串。
- 我不需要以任何方式对分数进行排序,也不需要更改它们。
- 我只需要能够在用户获胜时添加分数并按获胜次数对用户进行排序。
- 我会提取所有的中奖分数进行统计,但统计不会关注哪个分数属于哪个用户。
- 一旦程序停止,它就可以全部从内存中删除。
从我目前的研究来看,我最好的选择似乎是创建一个用户类,我在其中存储一个列表并每次都添加到列表中。或者为每个用户创建一个带有键的字典。但是由于每个用户可能有不同数量的获胜分数,我不知道我是否可以使用字典(除非每个键都与一个列表相关联?)。我认为我不需要像 numpy 数组这样的东西,因为我想创建非常简单的统计数据,而不用担心什么分数属于哪个用户。 我需要考虑不使用不必要的内存等,特别是因为每个用户可能有一百个获胜分数。但是我真的找不到关于字典与类的好处的明确信息。编程社区非常乐于助人并且充满了答案,但不幸的是我经常不明白答案。
非常感谢我能得到的任何帮助!不要害怕告诉我我的想法很愚蠢,我想学习如何像程序员一样思考。
【问题讨论】:
-
使用带有列表值的字典没有问题。字典实际上在 python 中非常有效,并且在“隐藏”的任何地方都使用(也在类中)。我的第一种方法是使用带有分数列表作为值的普通字典。如果您以后需要更大的灵活性,则可以切换到具有附加功能的自定义类。也许你觉得这个video 的话题很有趣。
标签: python list dictionary key-value