Python 如何从两个嵌套列表(父目录和子目录)中创建目录列表

Python 如何从两个嵌套列表(父目录和子目录)中创建目录列表,python,python-2.6,Python,Python 2.6,我有一个包含两个元素的父列表 P= ["E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin" , "E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BCAS_BD_Infrastructure"] 但第一个元素有另一个列表: Cld1 = ['BGD_4_new_district', 'BGD_3_old_district', 'BGD_2_division', 'BGD_1_all', 'BGD_5_Upa

我有一个包含两个元素的父列表

P= ["E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin" , "E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BCAS_BD_Infrastructure"]
但第一个元素有另一个列表:

Cld1 = ['BGD_4_new_district', 'BGD_3_old_district', 'BGD_2_division', 'BGD_1_all', 'BGD_5_Upazilla', 'BGD_4_old_district', 'BGD_6_Union_court', 'BGD_6_Union', 'BD_exposed_coastal_area','BD_drought', 'BGD_1_River', 'BGD_1_River_detail', 'BD_international_bnd', 'BGD_1_River_1', 'BGD_7_Mauza', 'test', 'BGD_5_UpazillaAnno', 'BGD_4_new_districtAnno', 'BGD_4_new_districtAnno2']
Cld2 = ['BD_Health_Infrastructures_1', 'BD_Railway_Establishments_1', 'BGD_roads_1']
第二个元素有另一个列表:

Cld1 = ['BGD_4_new_district', 'BGD_3_old_district', 'BGD_2_division', 'BGD_1_all', 'BGD_5_Upazilla', 'BGD_4_old_district', 'BGD_6_Union_court', 'BGD_6_Union', 'BD_exposed_coastal_area','BD_drought', 'BGD_1_River', 'BGD_1_River_detail', 'BD_international_bnd', 'BGD_1_River_1', 'BGD_7_Mauza', 'test', 'BGD_5_UpazillaAnno', 'BGD_4_new_districtAnno', 'BGD_4_new_districtAnno2']
Cld2 = ['BD_Health_Infrastructures_1', 'BD_Railway_Establishments_1', 'BGD_roads_1']
现在我想加入p和(Cld1和Cld2),即p+Cld1和p+Cld2来创建操作系统路径,它(p+Cld1和p+Cld2)将保存在一个数组中“My_Full_path”例如“e:\GIS_DOCUMENT\BCAS_Map\BCAS_All.gdb\BD_Admin\BGD_4_new_district”是“My_Full__path”列表的一个元素

怎么办


提前感谢

使用
os.path.join

nez_Cld1 = [os.path.join(P[0], i) for i in Cld1] 
nez_Cld2 = [os.path.join(P[1], i) for i in Cld2]

如果我正确理解了您的问题,那么我想您需要:

import os
import pprint
P= ["E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin" , "E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BCAS_BD_Infrastructure"]
Cld1 = ['BGD_4_new_district', 'BGD_3_old_district', 'BGD_2_division', 'BGD_1_all', 'BGD_5_Upazilla', 'BGD_4_old_district', 'BGD_6_Union_court', 'BGD_6_Union', 'BD_exposed_coastal_area','BD_drought', 'BGD_1_River', 'BGD_1_River_detail', 'BD_international_bnd', 'BGD_1_River_1', 'BGD_7_Mauza', 'test', 'BGD_5_UpazillaAnno', 'BGD_4_new_districtAnno', 'BGD_4_new_districtAnno2']
Cld2 = ['BD_Health_Infrastructures_1', 'BD_Railway_Establishments_1', 'BGD_roads_1']

lis1 = [os.path.join(x, y) for x in P for y in Cld1]
lis2 = [os.path.join(x, y) for x in P for y in Cld2]

My_Full_Path = lis1 + lis2

pprint.pprint(My_Full_Path)
输出:

['E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_4_new_district',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_3_old_district',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_2_division',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_1_all',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_5_Upazilla',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_4_old_district',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_6_Union_court',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_6_Union',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BD_exposed_coastal_area',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BD_drought',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_1_River',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_1_River_detail',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BD_international_bnd',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_1_River_1',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_7_Mauza',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\test',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_5_UpazillaAnno',
 'E:\\GIS_DOCUMENT\\BCAS_Map\\BCAS_All.gdb\\BD_Admin\\BGD_4_new_districtAn
  ...
  ...

我认为第一个元素的子元素在Cld1中,第二个元素在Cld2中,因此
zip
在这里不好。此解决方案适合任务描述,但不常见。如果它意味着向上投票,我有buddy