我正在尝试构建一个函数,给定一个列表将返回一个列表,其中的元素相乘,不包括位于同一索引处的元素。例如对于列表 [1,2,3,4] 它将返回 [2*3*4,1*3*4,1*2*3] . 这是我试过的
import numpy as np
def my_function(ints):
products = np.ones(len(ints))
indices = range(0,len(ints))
for i in ints:
if i != indices[i]
products *=ints[i]
return products
我认为我的问题是我认为“i”会引用索引而不是这些索引的值。
- 我怎样才能创建一些引用索引而不是值的东西
- 有没有更好的方法来解决这个问题?
请您参考如下方法:
使用 numpy 这很容易:
import numpy as np
def fun(input):
arr = np.array(input)
return arr.prod() / arr
