Skip to main content
 首页 » 编程设计

python之如何在 "map"函数调用中将参数传递给函数

2025年05月04日23zlslch

我知道 map 函数获取一个函数作为它的第一个参数,接下来的参数是迭代器,需要在其上应用传递的函数。我的问题是如果我有这样的二维列表

l=[[1,2,3],[4,5,6],[7,8,9]] 

我怎样才能以相反的顺序对各个列表进行排序,这样我的输出就是

l=[[3,2,1],[6,5,4],[9,8,7]] 

我知道一个潜在的解决方案是使用 lambda 函数,例如

list(map(lambda x:x[::-1],l)) 

我想要这样的东西

list(map(sorted, l,'reversed=True')) 

其中 'reversed=True' 是 sorted 采用的参数

例如:

>>> newList=[1,2,3] 
>>> sorted(newList,reversed='True') 
>>> [3,2,1] 

我已经了解了如何使用 itertools.repeat 模块将参数传递给 pow 函数

map(pow,list,itertools.repeat(x)) 

x=列表必须提升到的功率

我想知道是否有任何方法可以在 map 函数中传递参数。在我的例子中,排序函数的“reverse=True”。

请您参考如下方法:

您可以为此使用 functools.partial:

import functools 
 
new_list = list(map(functools.partial(sorted, reverse=True), l))