我有一个键字典,如 A1-A15、B1-B15 等。运行dictionary.keys().sort() 会产生 A1、A10、A11 ...
def sort_keys(dictionary):
keys = dictionary.keys()
keys.sort()
return map(dictionary.get, keys)
我如何对其进行排序,以便它们按正确的顺序排列,即 A1、A2、A3 ...?
keys.sort(key=lambda k:(k[0], int(k[1:])) )
编辑:这会失败,因为按键不像 A23,例如AA12 将停止该程序。一般情况下,请参见natsort 函数的 Python 模拟(使用“自然顺序”算法对列表进行排序) https://stackoverflow.com/questions/2545532/python-analog-of-natsort-function-sort-a-list-using-a-natural-order-algorithm.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)