嵌套列表索引访问问题:按子列表同索引提取路径
按索引分组遍历嵌套文件夹路径
问题背景
现有嵌套列表 all_folders,结构如下:
all_folders = [ ['\\\\1234\\Costing\\Folder1\\', '\\\\4567\\Costing\\Folder1\\', '\\\\8910\\Costing\\Folder1\\', '\\\\1112\\Costing\\Folder1\\', '\\\\1314\\Costing\\Folder1\\', '\\\\1516\\Costing\\Folder1\\'], ['\\\\1234\\Costing\\Folder2\\', '\\\\4567\\Costing\\Folder2\\', '\\\\8910\\Costing\\Folder2\\', '\\\\1112\\Costing\\Folder2\\', '\\\\1314\\Costing\\Folder2\\', '\\\\1516\\Costing\\Folder2\\'], ['\\\\1234\\Costing\\Folder3\\', '\\\\4567\\Costing\\Folder3\\', '\\\\8910\\Costing\\Folder3\\', '\\\\1112\\Costing\\Folder3\\', '\\\\1314\\Costing\\Folder3\\', '\\\\1516\\Costing\\Folder3\\'] ]
需要实现的逻辑是:依次按索引提取所有子列表的对应元素——先取所有子列表的第0个路径,再取第1个,以此类推,最终输出按服务器分组的路径序列。
原使用的嵌套循环代码无法满足需求:
for folders in all_folders: for folder in folders: print(folder)
这段代码会先遍历完第一个子列表的所有元素,再遍历第二个,不符合按索引分组提取的要求。
解决方案
利用Python的zip()函数可实现按索引分组遍历,zip(*all_folders)会将各个子列表的同索引元素打包成元组,遍历这些元组即可得到按索引分组的元素:
代码实现
# 按索引分组遍历所有子列表的对应元素 for group in zip(*all_folders): # 遍历当前分组内的每个路径并输出(可根据需求调整输出格式) for path in group: print(path, end=' ')
输出结果
运行上述代码后,将得到期望的输出:
\\1234\Costing\Folder1\ \\1234\Costing\Folder2\ \\1234\Costing\Folder3\ \\4567\Costing\Folder1\ \\4567\Costing\Folder2\ \\4567\Costing\Folder3\ \\8910\Costing\Folder1\ \\8910\Costing\Folder2\ \\8910\Costing\Folder3\ \\1112\Costing\Folder1\ \\1112\Costing\Folder2\ \\1112\Costing\Folder3\ \\1314\Costing\Folder1\ \\1314\Costing\Folder2\ \\1314\Costing\Folder3\ \\1516\Costing\Folder1\ \\1516\Costing\Folder2\ \\1516\Costing\Folder3\
内容的提问来源于stack exchange,提问作者daredevil
相关产品推荐
相关产品推荐

