python - 在 Python 中使用多个条目格式化字典的正确方法

标签 python dictionary

我只是好奇在 Python 中构建具有多个条目的字典的最佳/最有效方法是什么。它可以是学生或员工等的字典。为了论证,每个条目都有一个“名称”键/值和一些其他键/值对。

例如,如果您只有一个学生,这会很有效...

student_dict = {'name': 'John', 'age': 15, 'grades':[90, 80, 75]}

这是正确的做法吗?每个字典条目一个变量?不知何故,我不认为它是:

student_1 = {'name': 'Fred', 'age': 17, 'grades':[85, 80, 75]}
student_2 = {'name': 'Sean', 'age': 16, 'grades':[65, 70, 100]}
student_3 = ...

我确信有一种简单的方法来构建它,可以很容易地在一个位置添加新条目和搜索现有条目,我只是无法理解它。

谢谢

最佳答案

使用字典或列表来存储字典。由于您似乎希望能够按名称引用各个词典,因此我建议使用词典词典:

students = {'student_1': {'name': 'Fred', 'age': 17, 'grades':[85, 80, 75]},
            'student_2': {'name': 'Sean', 'age': 16, 'grades':[65, 70, 100]}}

现在您可以通过按键来引用单个词典:

>>> students['student_1']
{'name': 'Fred', 'age': 17, 'grades': [85, 80, 75]}

如果您不关心名称,或者您需要保留顺序,请使用列表:

students = [{'name': 'Fred', 'age': 17, 'grades':[85, 80, 75]},
            {'name': 'Sean', 'age': 16, 'grades':[65, 70, 100]}]

通过索引访问它们:

>>> students[0]
{'name': 'Fred', 'age': 17, 'grades': [85, 80, 75]}

或者遍历它们:

for student in students:
    print(student['name'], student['age'], student['grades'])

关于python - 在 Python 中使用多个条目格式化字典的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50146025/

相关文章:

python - 字典中的累积分布

swift - 如何使用 Swift 3 访问字典值?

ios - 如何防止修改字典副本

python - 将路由前缀添加到在 Gunicorn 上运行的 Flask 应用程序

python - C++和Python之间的通信

python - 是否可以使用 telnetlib 发送 "resize pty"命令?

javascript - 如何在 JavaScript 中检查两个 map 是否具有相同的键集

python - 让 Sprite 互相弹开

python - 对 python、列表/生成器对象感到困惑

Python - 使用 2 个键调用字典