现在,从Python 3.7(以及CPython 3.6)开始,保证Python字典的插入顺序是什么,对字典进行排序的最佳/最快方法是什么 - 按值和按键排序?
最明显的方法是:
by_key = {k: dct[k] for k in sorted(dct.keys())}
by_value = {k: dct[k] for k in sorted(dct.keys(), key=dct.__getitem__)}
Run Code Online (Sandbox Code Playgroud)
有没有其他更快的方法来做到这一点?
请注意,这个问题并不重复,因为之前有关如何对字典进行排序的问题已经过时(答案基本上是,您不能;使用collections.OrderedDict替代).