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

如何将字典的键(文件路径)与对应值拼接为完整文件路径?

拼接字典中路径与文件名生成完整路径字典

原始Python字典结构:

import os    
file_names = {'C:\Data\Path1': ['item1.file', 'item2.file'], 
              'C:\Data\Path2': ['item3.file', 'item4.file']}

期望得到的结果是将每个路径(字典的键)与对应列表中的文件名拼接,生成包含完整路径的字典:

file_paths = {'C:\Data\Path1': ['C:\Data\Path1\item1.file', 'C:\Data\Path1\item2.file'], 
              'C:\Data\Path2': ['C:\Data\Path2\item3.file', 'C:\Data\Path2\item4.file']}

你尝试的代码:

file_paths = {folder: os.path.join(folder, file_names[folder][item])
                               for folder in file_names.keys()
                               for item, _ in enumerate(file_names[folder])}

运行后每个字典键仅对应最后一个文件的完整路径,原因是字典的键具有唯一性——在嵌套循环的推导式中,每次循环都会对同一个folder键重新赋值,最终每个键只会保留最后一次循环的结果,而非生成包含所有文件路径的列表。

正确实现方式

对每个文件夹对应的文件名列表,用列表推导生成完整路径列表,再赋值给对应的字典键:

file_paths = {folder: [os.path.join(folder, filename) for filename in files]
              for folder, files in file_names.items()}

这样每个folder键会直接关联一个由所有完整路径组成的列表,完全符合预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 21:37:07