【发布时间】:2015-12-08 13:13:01
【问题描述】:
全部,
我在按值排序字典然后打印时遇到了困难。
我的对象(数据集)如下所示...
dict_items([(0, {'studentName': 'dan', 'Score': 80.0}), (1, {'studentName': 'rob', 'Score': 92.0})])
我想按分数排序并打印,但我失败得很惨。如果有帮助,我按照建议使用以下方法按 StudentName 排序。
entries = sorted([(dataSet[entry]['studentName'], dataSet[entry]['Score']) for entry in dataSet])
for name, score in entries:
print(('Student: {} -- Score: {}%'.format(name, score)))
【问题讨论】:
-
能看到dataSet的内容吗?
-
按分数排序,然后按名称排序可能行不通,除非您有可以对名称进行排序的分数范围。
-
@AyushShanker 进行了编辑以使其更加明显。
-
@SirParselot 考虑到这一点,我很高兴只需按分数排序。 Python不是我的领域,乞丐不能选择!
-
不可能对字典进行排序,只能得到已排序字典的表示。字典本质上是无序的,但其他类型,例如列表和元组,则不是。所以你需要一个排序的表示,它是一个列表——可能是一个元组列表。
标签: python sorting dictionary items