按自然顺序对字典关键字进行排序[重复项]

按自然顺序对字典关键字进行排序[重复项],第1张

按自然顺序对字典关键字进行排序[重复项]

您可以将字典更改为OrderedDict:

import collections, red = {"key1" : 'object', "key11" : 'object', "key2" : 'object', "key22" : 'object', "jay1" : 'object', "jay2" : 'object'}my_fun = lambda k,v: [k, int(v)]d2 = collections.OrderedDict(sorted(d.items(), key=lambda t: my_fun(*re.match(r'([a-zA-Z]+)(d+)',t[0]).groups())))print(d2)#reslt: OrderedDict([('jay1', 'object'), ('jay2', 'object'), ('key1', 'object'), ('key11', 'object'), ('key2', 'object'), ('key22', 'object')])

基本上,这里发生了什么,我将字符串分为“字符串”部分和数字部分。数字部分更改为

int
,并且使用这两个值进行排序。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5673233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存