首页 > 解决方案 > 如何传递用于矢量化python的列表列表

问题描述

对于 python 代码的向量化,我看到了一个传递要执行函数的数字列表的示例。例子 :

def myfunc(a, b):
 "Return a-b if a>b, otherwise return a+b"
    if a > b:
        return a - b
    else:
        return a + b
vfunc = np.vectorize(myfunc)
vfunc([1, 2, 3, 4], 2)

但是我们在函数中的参数是列表,如何进行向量化。

例子:

def myfunc(a, b):
#a is the list

    if a[0] > a[1]:
        return a[0] - a[1]

标签: python-3.xvectorization

解决方案


由于 a 是列表对象。尝试使用循环方法来迭代列表中的每个值。

def myfunc(a, b):
   # loop depends on the length of the list
   for i in range(len(a)):
       if a[i] > b:
          return a[i] - b
       else:
          return a[i] + b

推荐阅读