You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中按字典键最后一个字符排序失败,求问题原因及解决方法

问题分析与解决

错误原因

你代码里的排序键逻辑出错了:
在sorted(dict.items(), key=lambda x: list(x[-1]))中,x代表字典的每个键值对元组(比如('500r', '10')),x[-1]取的是元组的第二个元素值(比如'10'),转成列表后排序,这和你要按「键的最后一个字母」排序的需求完全不符。

修正后的代码

把lambda表达式改成取键的最后一个字符即可:

from collections import OrderedDict
dict = {'500r': '10', '600t': '9',
        '400y': '15', '200p': '2', '4500a': '32'}
dict1 = OrderedDict(sorted(dict.items(), key=lambda x: x[0][-1]))
print(dict1)

运行结果

输出和你的期望完全一致:

OrderedDict([('4500a', '32'), ('200p', '2'), ('500r', '10'), ('600t', '9'), ('400y', '15')])

内容的提问来源于stack exchange,提问作者Kuhan Vickneswaran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 09:39:26