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

如何按指定规则映射三个Python列表生成目标元组对?

解决思路与代码示例

你的问题出在错误地将所有文件夹合并后和路径做全笛卡尔积,导致每个路径都与所有文件夹组合,而实际需要的是路径列表和文件夹列表一一配对后分别生成组合:paths[0]只和folder_one的元素组合,paths[1]只和folder_two的元素组合。

方法一:使用itertools.product(灵活适配更多配对场景)

import itertools

paths = ["c:/path/path", "d:/path/path"]
folder_one = ["fol1", "fol2"]
folder_two = ["folder1", "folder2"]

# 将路径与对应的文件夹列表一一绑定
for path, folders in zip(paths, [folder_one, folder_two]):
    # 对当前路径和对应文件夹生成组合
    for pair in itertools.product([path], folders):
        print(pair)

方法二:直接嵌套循环(简单直观,适合固定长度的列表)

如果你的路径和文件夹组数量固定,可以直接分两组循环:

paths = ["c:/path/path", "d:/path/path"]
folder_one = ["fol1", "fol2"]
folder_two = ["folder1", "folder2"]

# 处理第一个路径与folder_one的组合
for fol in folder_one:
    print((paths[0], fol))

# 处理第二个路径与folder_two的组合
for fol in folder_two:
    print((paths[1], fol))

两种方法都会输出符合要求的结果:

('c:/path/path', 'fol1')
('c:/path/path', 'fol2')
('d:/path/path', 'folder1')
('d:/path/path', 'folder2')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 07:09:39