Skip to main content
 首页 » 编程设计

python之如何使用混合字母和数字的键对 Python 中的字典进行排序

2025年05月04日14over140

我有这样一本字典:

dict_str = {'Number_1_item':'foo', 
            'Number_11_item':'bar', 
            'Number_22_item':'foobar', 
            'Number_5_item':'barfoo'} 

我想要的输出是:

sorted_dict_str = {'Number_1_item':'foo', 
            'Number_5_item':'bar', 
            'Number_11_item':'foobar', 
            'Number_22_item':'barfoo'} 

因此 sorted_dict_str 是根据 dict_str 中的键以数字方式排序的。 我找到了一些使用纯数字键而不是混合键对键进行排序的答案,因此它们并不是很有帮助。

非常感谢。

问候

请您参考如下方法:

你可以像这样从你的字典中得到排序的字典:

from collections import OrderedDict 
 
OrderedDict(sorted(dict_str.items(), key=lambda s: int(s[0].split('_')[1])))