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

如何按字符串列表各元素3位后缀的出现频次对列表排序?

4位长度单词按后3位后缀频次排序方案

需求规则

  • 待处理词池内的单词全部为4个字母长度
  • 排序依据:取每个单词的最后3位作为统计后缀,计算每个后缀的出现频次,按照频次从高到低排列单词
  • 频次相同的后缀对应的单词,相对排列顺序无强制要求,可任意排布

示例

输入

wordPool = ['beat','neat','food','good','mood','wood','bike','like','mike']

预期输出

['food','good','mood','wood','bike','like','mike','beat','neat']

实现方法

思路

  • 先遍历所有单词,用切片word[-3:]截取每个单词的后3位后缀,统计每个后缀的出现次数
  • 排序时将单词对应后缀的频次作为排序键,做降序排列即可

可运行代码

from collections import Counter

wordPool = ['beat','neat','food','good','mood','wood','bike','like','mike']
# 统计所有3位后缀的出现频次
suffix_count = Counter(word[-3:] for word in wordPool)
# 按后缀频次降序排序
result = sorted(wordPool, key=lambda item: suffix_count[item[-3:]], reverse=True)

print(result)

结果说明

运行代码得到的输出和预期完全一致,排序逻辑对应:

  • 后缀ood共出现4次(对应food、good、mood、wood),频次最高,排在最前
  • 后缀ike共出现3次(对应bike、like、mike),频次次之,排在中间
  • 后缀eat共出现2次(对应beat、neat),频次最低,排在最后

内容的提问来源于stack exchange,提问作者eddie kan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:51:25