我怎样才能在map()

时间:2015-12-16 10:02:00

标签: python

我有一个目录名列表,想要在它之前添加固定路径。 我知道,它可以通过两种方式完成,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.

1 个答案:

答案 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