我试图将不同数量的函数参数传递给函数。具体来说,我正在尝试使用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的参数的数量取决于我的字典中的键的数量,并且我想传递我存储为字典中的项目的相应列表。我有什么方法可以做到这一点吗?
答案 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))