python - 从具有多个参数的函数定义列表
问题描述
我有以下功能:
def func(x, y, z):
d = -5.9
T = 230.0
f = x - y * T + z + d
return f
由此,我想制作一个从 func(x, y, z) 中提取的 f 值列表。值 x、y 和 z 是三个不同的值列表。
我的问题是,如何制作 f 值列表?我尝试了以下方法,但无法正常工作:
f_list = [func(x, y, z) for x in x_list for y in y_list for z in z_list]
解决方案
我想你想使用zip
:
f_list = [func(*vals) for vals in zip(x_list, y_list, z_list)]
或清关:
f_list = [func(x, y, z) for x, y, z in zip(x_list, y_list, z_list)]
您还可以使用itertools.starmap
:
import itertools
f_list = list(itertools.starmap(func, zip(x_list, y_list, z_list)))
推荐阅读
- sql - PL/SQL 中的 SQL 注入 - 神话还是事实?
- angular - 配置路由保护
- linux - arecord 文件类型标头是否在开始时流式传输?
- javascript - 将值输入输入(用户名、密码、电子邮件等)并使用 javascript 提交
- json - 我需要从我的 component.ts 文件中保存的 JSON 对象中获取数据
- r - 在 R Shiny 的 UI 中的 IF 语句中使用反应值
- android - 是否可以将 DataSnapShot 更改为模型?
- ruby-on-rails - Rails:使用 Authlogic 进行 Google 身份验证
- java - Kotlin:只有 getter 的私有可变属性
- javascript - Kendo MVVM - 模板未更新