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

如何修改Python代码实现列表按长度排序后同长度元素按字母序排列

解决方案

你只需要修改sorted函数的key参数即可,Python的sorted支持传入元组作为排序键,会按元组元素优先级依次比较:

  • 第一优先级按字符串长度排序,和原有逻辑一致
  • 长度相同的情况下,第二优先级按字符串本身的字典序(字母顺序)排序

修改后的完整代码如下:

def sort_by_length(words: list[str]):
    return sorted(words, key=lambda x: (len(x), x))
print(sort_by_length(['this','is','a','test','for','sorting','by','length']))

运行后就能得到你期望的输出:

['a', 'by', 'is', 'for', 'this', 'test', 'length', 'sorting']

改动说明

你只需要把原有key=len替换为key=lambda x: (len(x), x)即可,不需要修改其他部分的代码。

内容的提问来源于stack exchange,提问作者Joshua Bradley

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:06:04