python - 将变量 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
功能来做到这一点,还是我需要使用其他方法?
解决方案
您可以使用以下方法传递变量参数*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
推荐阅读
- php - 如何在 php codeigniter 中使用 mpdf [生成多个文件] 创建 zip 文件?
- netbeans - 无法激活 nb-javac
- html - 如何将徽标制作成按钮
- android - 在 Redmi 设备上启用“在锁定屏幕上显示”权限
- node.js - puppeteer 的 HTTP/2 代理
- firebase - 将 Cloud Functions 部署到 Firebase 时出现 ENOENT 错误
- python - /admin 'AnonymousUser' 对象的 AttributeError 没有属性 'first_name'
- c - 在 bash 中运行 ./configure 并将 out/err 重定向到文件
- xml - 如果语句为真,则使用 Xpath 搜索字段名的值并打印另一个属性
- arrays - 如何构建数组或集合