您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用字母数字键以自然顺序对字典进行排序

使用字母数字键以自然顺序对字典进行排序

您很幸运:该natsort模块可以提供帮助。首先,使用以下命令安装它:

pip install natsort

现在,您可以d.keys()转到natsort.natsorted并构建一个新的OrderedDict

import natsort
from collections import OrderedDict

d = {'a1' : 123, 
     'a2' : 2, 
     'a10': 333, 
     'a11': 4456}
keys = natsort.natsorted(d.keys())    
d_new = OrderedDict((k, d[k]) for k in keys)

简短的版本涉及排序d.items()从RomanPerekhrest的答案 得到了这个想法 ):

d_new = OrderedDict(natsort.natsorted(d.items()))
d_new
OrderedDict([('a1', 123), ('a2', 2), ('a10', 333), ('a11', 4456)])
其他 2022/1/1 18:32:44 有422人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶