有没有一种简单的方法可以将一个或两个 np.arrays 传递给函数而不用展开数组?

Is there a simple way to pass one or two np.arrays to a function without splatting an array?

我有一个函数需要能够接受一个或两个数组,转换它们,然后 return 转换后的数组

是否有 function(*args) 的替代方案,它不会在其第一个维度上解压单个 Numpy 数组,或者建议的解决方法?

*args 怎么了?它与 lists/arrays 一起玩得很好,没有飞溅。

def foo(*args):
    print(args)

foo([1])
foo([1], [2])

([1],)
([1], [2])

如何使用可选参数:

def transformsinglearr(arr):
    #enter code here

def foo(arr1 = None, arr2 = None):
    arr1t = None
    arr2t = None
    if not( arr1 is None) : arr1t = transformsinglearr(arr1)
    if not( arr2 is None) : arr2t = transformsinglearr(arr2)
    result = [arr1t, arr2t]
    result = [i for i in result if i] #remove nones
    return result

它不如 *args 优雅,但它做同样的工作。