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

如何用Python列表推导式过滤短长度令牌并保留指定子列表元素?

解决方案

直接用列表推导式结合条件判断就能实现,核心逻辑是保留长度≥2的令牌,或者属于指定保留列表的令牌:

tokens = ['I', 'want', 'to', 'learn', 'coding', 'in', 'r', 'and', 'c++', 'today', ',', 'and', 'then', 'I', "'ll", 'be', 'learning', 'c#', 'and', 'c']
keep_list = ['r','c','js','c#']

filtered_tokens = [token for token in tokens if len(token) >= 2 or token in keep_list]

验证结果

运行后filtered_tokens的结果为:

['want', 'to', 'learn', 'coding', 'in', 'r', 'and', 'c++', 'today', 'and', 'then', "'ll", 'be', 'learning', 'c#', 'and', 'c']

原列表中长度小于2且不在保留列表的'I'和','被移除,'r'、'c'、'c#'这类符合保留规则的元素全部保留。

逻辑说明

列表推导式里的条件len(token) >= 2 or token in keep_list同时覆盖两个筛选规则:

  • 令牌长度≥2时直接保留
  • 令牌在指定的keep_list中时,无论长度多少都保留

这样就通过一行代码完成了所有筛选需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 14:18:18