簡體   English   中英

如何在數組上循環 function

[英]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時的rest0

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM