如何移除Python列表中长度超20字符且不含空格的元素
Python列表过滤实现方案
筛选规则
过滤逻辑拆分为两个判断条件,满足任意一条的元素即可保留:
- 元素内容包含空格,不受长度限制直接保留
- 元素内容不包含空格,仅当字符长度≤20时保留,超过20的直接移除
实现代码
用列表推导式即可完成过滤,代码简洁易维护:
# 原始待处理列表 some_list = ['one', 'two', 'three', 'black', 'verylongcharacterwords', 'very long character words'] # 按规则过滤生成新列表 new_list = [item for item in some_list if ' ' in item or len(item) <= 20]
结果验证
执行代码后打印new_list,即可得到期望输出:
>>> print(new_list) ['one', 'two', 'three', 'black', 'very long character words']
如果后续需要调整长度限制,直接修改判断条件里的20为对应阈值即可。
内容的提问来源于stack exchange,提问作者Firefoxer
相关产品推荐
相关产品推荐

