使用for循环Python将不同数量的函数参数传递到函数中

时间:2018-02-21 12:27:45

标签: python function numpy dictionary arguments

我试图将不同数量的函数参数传递给函数。具体来说,我正在尝试使用numpy.meshgrid创建一个meshgrid,具有可变数量的输入:即由用户输入确定的n维网格。

我有一组数组可以在字典中生成网格。键是索引,字典的项是一个数组,包含我希望从中创建网格的点。

现在,我觉得我可以用for循环这样做: dict= {'v1':np.array([1,2,3,4,5]), 'v2':np.array([5,6,7,8,9])} grid = np.array(np.meshgrid(for keys in dict.keys: dict[keys]))

换句话说,我希望传递给numpy.meshgrid的参数的数量取决于我的字典中的键的数量,并且我想传递我存储为字典中的项目的相应列表。我有什么方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:1)

这可能就是你想要的

import numpy as np

dict= {'v1':np.array([1,2,3,4,5]), 'v2':np.array([5,6,7,8,9])}

def give_me_grid(d):
  return np.array(np.meshgrid(*(v for _, v in sorted(d.items()))))

print(give_me_grid(dict))