当我遇到以下怪异问题时,我正在为解决一些古老的Code Advent问题做准备。假设我们有以下Python字典:
d = {'a':5, 'b':4, 'c':4, 'd':2, 'e':3, 'f':1}
Run Code Online (Sandbox Code Playgroud)
如果按字典的键对字典进行排序,则会得到以下结果:
>>>print(sorted(d, key=d.get))
['f','e','d','c','b','a']
Run Code Online (Sandbox Code Playgroud)
现在,如果我们尝试逆转此顺序,则会得到以下结果:
>>>print(sorted(d, key=d.get, reverse=True))
['a','c','b','d','e','f']
Run Code Online (Sandbox Code Playgroud)
这给我提出了两个问题:
c之前列出?b4b我确定还有其他方法可以解决此问题,但现在我对sorted导致此问题的方法的机理感到好奇。