繁体   English   中英

从具有多个参数的函数中定义列表

[英]Defining list from a function with multiple arguments

我有以下功能:

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)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM