在python中排序的方法

时间:2016-09-22 14:15:44

标签: python-3.x

相同的代码,运行几次,但得到不同的结果。为什么以下结果没有排序?

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

您将结果放入dict - 一种不保证任何键/值顺序的数据结构。根据您对sorted()的调用,您似乎意识到了这一点。

但是,该函数不能像你想象的那样工作:不是修改列表(或者通常是任何可迭代的),而是返回一个新的。上面链接的文档说明:

  

从iterable中的项目返回一个新的排序列表。

由于此函数的结果未分配给任何变量,因此它会消失。或者,结果可以直接用作集合,在for循环中迭代,如下所示:

for key in sorted(scores):
    print(scores[key] + ' had ' + key)