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

Python如何提取文本最长5个单词并按字母顺序排序

Python提取文本最长5单词并排序解决方案

问题根源

  • 原代码sorted仅指定key=len,长度相同的单词无明确排序规则,会跟随原列表的元素顺序变动导致每次输出结果不一致
  • 第五个元素调用了未定义的list_1变量,存在笔误
  • 逐位取前5长单词的逻辑冗余,且未实现“取完最长5词后按字母序排序”的要求

正确实现代码

# 1. 先按长度降序、再按字母升序全局排序,固定相同长度单词的顺序,消除随机性
sorted_by_len = sorted(word_list, key=lambda x: (-len(x), x))
# 2. 提取最长的前5个单词,列表长度不足5时自动取全部存在的元素
top5_longest = sorted_by_len[:5]
# 3. 将提取到的5个单词按字母顺序排序
top5_alphabet = sorted(top5_longest)
# 按要求打印输出
for word in top5_alphabet:
    print(word)

逻辑说明

  • 排序key使用(-len(x), x):通过负长度值实现长单词优先排序,长度相同的单词直接按自身字母序排列,完全固定排序规则,不会出现每次运行结果不同的问题
  • 若业务要求排除重复单词,可在排序前添加去重逻辑:word_list = list(set(word_list))

内容的提问来源于stack exchange,提问作者Maria Thanou

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:15:03