Python如何用嵌套列表推导式批量筛选指定后缀的工作表名称
实现方案
你需要的单条嵌套列表推导式写法如下:
selected_sheet_names = [[x for x in sheet_names if x.endswith(suffix)] for suffix in some_list]
逻辑说明
- 外层推导式遍历自定义后缀列表
some_list中的每个后缀项suffix,对应原普通for循环的遍历逻辑 - 内层推导式针对当前遍历到的后缀,筛选所有匹配的工作表名称,和你原有单条筛选的列表推导式逻辑完全一致
- 最终输出的结构和你原有多次
append、普通for循环的结果完全相同,是按some_list中后缀顺序排列的嵌套列表,不受工作表名称原排序、同后缀是否连续的影响
用你给出的示例sheet_names和some_list = ["b1", "b2", "b3"]运行后,输出结果和你最初写的三次append的运行结果完全一致。
内容的提问来源于stack exchange,提问作者loamoza
相关产品推荐
相关产品推荐

