【发布时间】:2016-11-09 23:32:00
【问题描述】:
我一直在玩弄使用字典来替换 python 中的 switch case。我有以下字典:
dispatcher = {"avg": data_filler.fill_missing_data_average,
"value": data_filler.fill_missing_data,
"drop": data_filler.drop_column}
其中 fill_missing_data_average、fill_missing_data 和 drop_column 都是函数。然后我通过以下方式调用这些函数:
for col in self.to_do_list:
self.pandas_dataset[col] = dispatcher[self.to_do_list[col]]()
现在,调度程序调用之后的 () 中应该有一些内容。但是,虽然 fill_missing_data_average 和 drop_column 都只接受一个 pandas 数据帧作为参数,但 fill_missing_data 接受一个 pandas 数据帧和一个数值。
有没有办法在接受不同数量参数的函数中继续使用这种方法?
【问题讨论】:
标签: python dictionary parameters optional-parameters