首页 > 解决方案 > 将变量 args 传递给映射函数

问题描述

我正在尝试执行以下操作:

def func(a,b,c=None):
    print (f'a: {a} | b: {b} | c: {c}')

list(map(func, [{'a': 1, 'b': 2, 'c': 12}, {'a': 1, 'b': 2}]))

类型错误:func() 缺少 2 个必需的位置参数:“b”和“c”

有没有办法使用该map功能来做到这一点,还是我需要使用其他方法?

标签: pythonpython-3.xlambda

解决方案


您可以使用以下方法传递变量参数*args

def func(*args):
    print (f'a: {args[0]["a"]} | b: {args[0]["b"]} | c: {args[0].get("c")}')

输出

a: 1 | b: 2 | c: 12
a: 1 | b: 2 | c: None

推荐阅读