我有一个目录名列表,想要在它之前添加固定路径。 我知道,它可以通过两种方式完成,1)使用for循环和2)使用map()函数。
我能够使用for循环:
dirNames = ['dir1', 'dir2']
dirsFullPath = [os.path.join('C:\\', dir) for dir in dirNames]
但是使用map如何为列表中的每个目录名传递两个参数,即'C:\'和目录名。
dirsFullPath = map(os.path.join, dirNames) # so where to put 'C:\\' in this line.
答案 0 :(得分:3)
你需要将一个函数和一个iterable传递给map
,对于像这样简单的应用程序,你可以依赖lambda
函数并将iterable作为你的列表。
import os
dirNames = ['dir1', 'dir2']
path_maker = lambda dir_name: os.path.join("C:\\", dir_name)
map(path_maker, dirNames)
有关详细信息,请参阅map
的文档,https://docs.python.org/2/library/functions.html#map