python:如何将函数转换为lambda表达式?

python:如何将函数转换为lambda表达式?,python,python-3.x,lambda,Python,Python 3.x,Lambda,我有一个将列表转换为dict的函数 def convert2Dict(item_list): d = {} for name in item_list: d.setdefault(name,0) d[name] += 1 return (d) 当我通过如下列表时: takeOff_Airport = convert2Dict(takeOff_Airport) 我的口述是这样的: {'LPPD': 4, 'DAAE': 1, 'EDDH':

我有一个将列表转换为dict的函数

def convert2Dict(item_list):
    d = {}
    for name in item_list:
       d.setdefault(name,0)
       d[name] += 1
    return (d)
当我通过如下列表时:

 takeOff_Airport = convert2Dict(takeOff_Airport)
我的口述是这样的:

{'LPPD': 4, 'DAAE': 1, 'EDDH': 16, ...... }
如果我尝试构造一个映射函数,如:

list(map(convert2Dict, takeOff_Airport))
我得到:

[{'L': 1, 'P': 2, 'D': 1}, {'D': 1, 'A': 2, 'E': 1}, ....}
而不是一个字一个字地重复,而是一个字一个字地重复

你知道怎么改吗

当你写作时

list(map(convert2Dict, takeOff_Airport))
你基本上是在表演

result = []
for key in takeOff_Airpot:
    result.append(covert2Dict(key))
也就是说,将
covert2Dict
函数应用于字典
covert2Dict
中的每个键,然后将所有结果收集到一个列表中


如果您想让函数在
takeup\u Airport
本身上运行,只需直接将其作为参数传递即可。如果您想对iterable上的每个元素执行某些操作,只需使用
map
或其相关项。

看起来您的
convert2Dict
函数可能更好地被替换为我不知道这与lambda有什么关系。lambda函数不能做
def
函数不能做的任何事情。由于代码中的其他部分而引发错误,需要与所呈现的一样。lambda与问题有什么关系?您也没有提供。谢谢,现在我看到了。