[英]How to loop a function over a array
所以這就是我想寫一個找到一組特定數字的 function 的東西。 所以我嘗試了幾種不同的方法
我以這種方式嘗試了 Boolean 方式並不斷獲得 arguments
import numpy as np
N = np.array([10,1,2,3,4,5,6,7,8,9])
def function(N):
e = 0
for i in range(n):
if i % 2 == 0:
e += a[i]
sum(e)
得到上述代碼的錯誤TypeError: only integer scalar arrays can be convert to a scalar index
import numpy as np
N = np.array([10,1,2,3,4,5,6,7,8,9])
def function(N):
filter_arr = []
for item in N:
if(N% 2 ==0):
filter_arr.append(True)
else:
filter_arr.append(False)
newarr = N[filter_arr]
print(sum(newarr))
所以這是另一種正確的嘗試
import numpy as np
N = np.array([10,1,2,3,4,5,6,7,8,9])
def function(N):
for item in N:
if(N%2 ==0):
return False
else:
return True
even_numbers=filter(function, N)
for N in even_numbers:
print(N)
我收到 numpy.int32 錯誤
def function(N):
e = 1
for i in range(0):
if (i % 2 == 0):
e *= N[i]
print(e)
這是我得到的最接近的結果,沒有錯誤但沒有結果。 所以尋找一些關於我做錯了什么的幫助。
def func(array):
product = 1
for i in array:
if i==0:
continue
if i%2==0:
product *= i
return product
N = np.array([0,10,1,2,3,4,5,6,7,8,9])
func(N)
開始您的變量,它將在 1 處收集您的product
,因為它是一個乘法。
如果數字為0
,我設定了通過它的條件,除非您想在算法中得到 0。
i%2==0
只是檢查一個數字除以2
aka modulo
時的rest
為0
。
def func1(array):
sum1 = 0
for i in array:
if i%2==0:
sum1 += i
return sum1
N = np.array([0,10,1,2,3,4,5,6,7,8,9])
func1(N)
此代碼將為您提供總和,類似的結構,但是,總和中的0
無關緊要,因此您可以刪除0
上的條件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.