Joh*_*son 4 python sorting dictionary
我有一个字典,如A1-A15,B1-B15等.运行dictionary.keys().sort()导致A1,A10,A11 ......
def sort_keys(dictionary):
keys = dictionary.keys()
keys.sort()
return map(dictionary.get, keys)
Run Code Online (Sandbox Code Playgroud)
如何对它进行排序以使它们按正确的顺序排列,即A1,A2,A3 ...?
keys.sort(key=lambda k:(k[0], int(k[1:])) )
Run Code Online (Sandbox Code Playgroud)
编辑:这将失败的键不像A23,例如AA12将停止程序.在一般情况下,请参阅natsort函数的Python模拟(使用"自然顺序"算法对列表进行排序).