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'])
推荐阅读
- c# - RFC 错误“容器元数据的元素 BAPIRETURN1 ... 未知”
- java - 如何定义列表
- html - 如何为与给定值匹配的元素设置 id?
- javascript - 如何隐藏未定义的数据
- r - 来自不同系列的 Highcharter 数据标签
- shell - shell命令更改文件并保存
- excel - 未打开的excel文档中的Vba计数行(来自vba word)
- python - 刮掉 1 个标签时如何剪断我的字符串?
- c++ - 无法将有效的通信器从 fortran 传递到 c/c++
- python-3.x - css 不适用于使用 {{url_for('static', filename='css/style.css')}} 的烧瓶