我有一本类似以下的字典:
dictionary = {
"sf_init#12" : "string",
"sf_code#5" : "string",
...
}
我希望键按顺序排序:
sf_code#5
sf_init#12
我尝试在split()
函数中使用lambda
,然后对数字部分进行了排序,但是没有用。谁有更好的主意如何进行排序?
(注):我正在使用Python2。另外,我也不想自然排序。
您在注释中使用的排序指定对键的第2个和第1个字符进行排序。这两个键均为'f', 's'
。如果要按末尾的数字排序,则需要提取这些数字。尝试
dicts = {"sf_init#27": 'g', "sf_code#5" :'h'}
for i in sorted(dicts.keys(), key=lambda k: k.split('#')[-1], reverse=True):
print (i)
输出
sf_code#5
sf_init#27