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

如何用单行Python代码从列表2中提取与列表1匹配的文件名

单行代码替代原循环实现

原代码通过循环逐个遍历分类器名称,在文件名列表中找到对应文件并打印。以下是两种单行代码实现方式,分别对应不同需求:

方式1:按文件名列表顺序输出所有匹配文件

如果不需要严格遵循原循环的分类器顺序,只想提取所有包含任意分类器名称的文件,可使用:

print('\n'.join(f for f in list_2 if any(clf in f for clf in list_1)))

这里用any()判断文件名是否包含list_1中的任一分类器名称,再通过join()将结果拼接为字符串打印。

方式2:完全匹配原循环的输出顺序(按分类器列表顺序)

原代码是按照list_1的顺序逐个输出对应文件,要复刻这个行为,用:

print('\n'.join(next(f for f in list_2 if clf in f) for clf in list_1))

next()直接获取第一个匹配的文件名(和原代码中file_name[0]效果一致),再按list_1的顺序拼接打印。

输出验证

代入给定的列表后,两种写法的输出结果和原循环完全相同:

KNeighborsClassifier.pkl
ExtraTreesClassifier.pkl
LGBMClassifier.pkl
RandomForestClassifier.pkl
GradientBoostingClassifier.pkl
XGBClassifier.pkl
DecisionTreeClassifier.pkl

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 23:50:26