Python:将一流的功能分配给字典项

问题描述

我有一个现有的字典,我想添加新元素作为从列表生成的一流函数

是否有更Python化的方式做到这一点?

agg_dict = {}
for x in attribute_list:
    agg_dict[x] = lambda x: ','.join(x)

我尝试过使用该列表,但它不起作用。

[agg_dict[x] = lambda x: ','.join(x) for x in attribute_list]

解决方法

首先,它应该是agg_dict[x],而不是agg_dict['x']。另外,您可以只使用dict理解:

agg_dict = {x: lambda arg: ','.join(arg) for x in attribute_list}