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

Python中从列表移除多元素及字符串处理的更简洁实现方法

需求1:输出 ['WXY', 'MNO']

用列表推导式一行即可实现,不需要手动删除指定关键词:

my_list = ['from ab1c_table in WXY\nprevious in time',
        'from abc3_table in MNO\nprevious in time',
        'from ab1_cow_table in DZMC1_IN tab\ncurrent in time',
        'from abc4_table in ERDU\ncurrent in time']
res = [item.split()[3].split('\n')[0] for item in my_list if 'previous' in item]
print(res)

实现逻辑:过滤仅保留带previous的行,每行按空格分割后取索引3的内容,再用\n分割取第一部分即可剔除多余后缀。

需求2:输出 ['ab1c_table', 'WXY', 'abc3_table', 'MNO', 'ab1_cow_table', 'DZMC1_IN', 'abc4_table', 'ERDU']

同样用双层列表推导式实现:

res = [j for i in my_list for j in (i.split()[1], i.split()[3].split('\n')[0])]
print(res)

实现逻辑:遍历每一行分别取表名(空格分割后索引1的内容)和对应标识(空格分割后索引3的内容剔除换行后缀),再把所有结果展开到同一个列表中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 19:00:00