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

如何基于字符串匹配对两个文件名列表进行分组?

按后缀匹配分组文件名

实现思路

核心是提取每个文件名中_xxkg格式的后缀作为匹配标识,先将L2的文件按后缀存入字典建立映射,再遍历L1匹配对应文件完成分组。

代码实现

L1 = ['D://carrot_25kg', 'D://banana_5kg', 'D://apple_50kg']
L2 = ['D://box3_5kg', 'D://box1_25kg', 'D://box2_50kg']

# 为L2构建后缀-文件路径的映射字典
suffix_map = {}
for file_path in L2:
    # 提取_xxkg格式的后缀(从最后一个下划线开始截取)
    suffix = file_path[file_path.rfind('_'):]
    suffix_map[suffix] = file_path

# 遍历L1,匹配对应文件生成分组结果
result = []
for file_path in L1:
    suffix = file_path[file_path.rfind('_'):]
    result.append([file_path, suffix_map[suffix]])

print(result)

运行结果

[['D://carrot_25kg', 'D://box1_25kg'],
 ['D://banana_5kg', 'D://box3_5kg'],
 ['D://apple_50kg', 'D://box2_50kg']]

扩展说明

如果存在多个文件对应同一后缀的场景,只需修改字典的value为列表,将同后缀文件存入列表即可:

suffix_map = {}
for file_path in L2:
    suffix = file_path[file_path.rfind('_'):]
    if suffix not in suffix_map:
        suffix_map[suffix] = []
    suffix_map[suffix].append(file_path)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 23:47:24