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

如何编写程序按最后一个字符对字符串列表进行排序?

按字符串最后一个字符排序列表的实现

Hey there! 你想要实现按列表中每个字符串的最后一个字符排序,输入是 ["Apple", "Mellon", "Banana"],期望得到 ["Banana", "Apple", "Mellon"] 的结果对吧?这在Python里用内置的排序工具就能轻松实现,不用写复杂的逻辑。

核心实现代码

直接利用sorted()函数的key参数,指定排序的依据为每个字符串的最后一个字符:

original_list = ["Apple", "Mellon", "Banana"]
sorted_list = sorted(original_list, key=lambda x: x[-1])
print(sorted_list)  # 输出: ["Banana", "Apple", "Mellon"]

代码解释

  • sorted()是Python内置的排序函数,它会返回一个新的排序后的列表,不会改动原列表。如果你想直接修改原列表,可以用列表的.sort()方法,用法几乎一样:
    original_list = ["Apple", "Mellon", "Banana"]
    original_list.sort(key=lambda x: x[-1])
    print(original_list)  # 原列表已被修改为目标结果
    
  • lambda x: x[-1]是一个匿名函数,它的作用就是提取每个字符串的最后一个字符,作为排序的“关键字”。我们对应你的例子验证一下:
    • "Apple"的最后一个字符是e
    • "Mellon"的最后一个字符是n
    • "Banana"的最后一个字符是a
  • 按照字母的自然顺序,a < e < n,所以排序后的顺序正好是你想要的Banana → Apple → Mellon。

额外小提示

如果你的列表里有大小写混合的字符串(比如"apple"和"Apple"),想要忽略大小写排序的话,可以把提取的字符转成小写:

sorted_list = sorted(original_list, key=lambda x: x[-1].lower())

这样不管最后一个字符是大写还是小写,都会被视为相同的排序依据。

内容的提问来源于stack exchange,提问作者berty qwerty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:23:23