我有两个清单:这个:
列表1(包含更多项)
['C:\\Users\\user\\Desktop\\prog1\\merge\\AST\\AST.shp',
'C:\\Users\\user\\Desktop\\prog1\\merge\\ASTI\\ASTI.shp',
'C:\\Users\\user\\Desktop\\prog1\\merge\\ASTO\\ASTO.shp']
还有这个:
列表2(有更多的项目)
['C:\\Users\\user\\Desktop\\programs\\merge\\AST\\AST.shp',
'C:\\Users\\user\\Desktop\\programs\\merge\\ASTI\\ASTI.shp',
'C:\\Users\\user\\Desktop\\programs\\merge\\AWE\\AWE.shp', #THIS IS EXTRA
'C:\\Users\\user\\Desktop\\programs\\merge\\ASTO\\ASTO.shp']
如何确保这些对与zip之后另一个列表上对应的相同名称匹配?你知道吗
也许我们和他们以前的文件夹匹配?比如:
if list1[0].split('\\')[-2] == list2[0].split('\\')[-2]:
final = [(f,s) for f,s in zip(list1,list2)]
final
想要的最终输出:
[('C:\\Users\\user\\Desktop\\prog1\\merge\\AST\\AST.shp',
'C:\\Users\\user\\Desktop\\programs\\merge\\AST\\AST.shp'),etc..]
我只需要用^{} 对文件进行分组,然后在一个单独的列表中输出长度为2的对。你知道吗
演示:
输出:
注意:使用^{} 从Windows路径提取文件名只适用于Windows。它在Unix环境中什么也做不了。你知道吗
相关问题 更多 >
编程相关推荐