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

图书馆系统中列表推导式处理介词大小写例外的优化方法咨询

优化方案

核心优化思路

  • 用小写集合存储例外介词,避免重复的大小写条目,同时集合的成员查找效率远高于列表(O(1) vs O(n))
  • 统一将待判断的单词转为小写后匹配例外集合,无需维护多版本的介词
  • 用生成器表达式替代列表推导式,减少内存占用(join可以直接迭代生成器)

优化后的代码

# 仅存储小写例外介词,用集合提升查找效率
exception_preps = {"and", "or", "at", "in", "for"}
self.book = " ".join(
    word.lower() if word.lower() in exception_preps else word.capitalize()
    for word in self.book.split()
)

原代码的问题点

  1. 例外列表冗余:重复存储同一介词的多种大小写形式,既浪费空间又增加维护成本
  2. 列表查找效率低:每次判断都要遍历整个列表,当例外介词数量增多时,性能下降明显

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 21:29:56