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

如何在Python中同时按不区分大小写和忽略空格排序字符串列表?

实现忽略空格且不区分大小写的字符串列表排序

给定Python字符串列表:

original_list = ["   banana   ", "Cherry", "apple"]

期望按不区分大小写且忽略空格的规则排序,得到目标结果:

sorted_list = ["apple", "   banana   ", "Cherry"]

此前尝试的两种方法均无法同时满足需求:

  • 使用 sorted(original_list, key=str.casefold):实现了不区分大小写,但空格字符排序优先级高于字母,得到结果:
    ["   banana   ", "apple", "Cherry"]
    
  • 使用 sorted(original_list, key=lambda x:x.replace(' ', '')):忽略了空格,但不支持不区分大小写,得到结果:
    ["Cherry", "apple", "   banana   "]
    

解决方案

将两种处理逻辑整合到同一个排序key函数中即可:先移除字符串所有空格,再进行大小写归一化处理,代码如下:

original_list = ["   banana   ", "Cherry", "apple"]
sorted_list = sorted(original_list, key=lambda x: x.replace(' ', '').casefold())
print(sorted_list)
# 输出:["apple", "   banana   ", "Cherry"]

逻辑说明

  • x.replace(' ', ''):移除字符串中的所有空格,提取出纯文本内容
  • .casefold():对处理后的文本进行大小写归一化(相比lower(),能更好地支持多语言场景的大小写转换)
  • 排序时以该处理后的字符串为依据,同时满足忽略空格和不区分大小写的排序要求

内容的提问来源于stack exchange,提问作者Ungvári Zsolt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:10:33