python - 将函数列表应用于python中的参数列表
问题描述
我有以下列表
fncs = ["MyLinkedList","addAtHead","get","addAtTail"]
args = [[],[8],[1],[81]]
我想回来
[MyLinkedList(), addAtHead(8), get(1), addAtTail(81)]
我以为我可以使用fnc_vals = [f(x) for f, x in zip(fncs, args)]
,但这似乎不起作用,因为我的 fncs 列表是一个字符串列表。如何将函数列表应用于参数列表(在 Python 中)?
解决方案
如果函数在本地命名空间中,只需删除引号:
fncs = [MyLinkedList, addAtHead, get, addAtTail]
args = [[], [8], [1], [81]]
如果第一个列表必须是字符串,您可以通过以下方式获取函数对象:
function_names = ["MyLinkedList", "addAtHead", "get", "addAtTail"]
functions = [locals()[fn] for fn in function_names]
如果,即函数在本地命名空间中命名。
推荐阅读
- ruby-on-rails - 使用 axlsx-rails 将 xlsx 文件导出为邮件中的链接
- dax - 如何在power bi中使用dax遍历表?
- elasticsearch - Elasticsearch 通过嵌套对象属性聚合
- c# - 球的无限弹跳(Unity)
- react-native - undefined 不是一个函数(评估'_this2.AlertButton()')?
- python - Python Fabric 2 使用标准输入
- c# - 如何取消上下文中所有未保存的数据?使用 EF6 时
- kubernetes - grpc-dart - 如何在 grpc-dart 中设置 HEADER - 我只能通过安全连接来完成
- react-native - 使用 oauth2 登录后如何使重定向 url 起作用
- android - 是否有机会更改 android 中的构建变体运行时间