web-dev-qa-db-fra.com

Vérifiez si une valeur existe dans un tableau en Cython

Je veux savoir comment vérifier si une valeur ou un objet existe dans un tableau, comme en python:

a = [1,2,3,4,5]
b = 4
if b in a:
    print("True!")
else:
    print("False")

Je veux savoir si quelque chose de similaire existe déjà dans le cython. J'ai un tableau d'objets pointeurs struct; Je veux savoir si l'objet existe dans ce tableau.

Comme

cdef Node *array

array = <Node *>malloc( 5 * cython.sizeof(Node))

for i in range(5):
     array[i].index = i

cdef Node test = array[3]

if test in array:
    print("True!")

cdef struct Node:
    int index

Le code ci-dessus n'est pas correct, mais il illustre ce que je veux dire.

25
Jean-Francois Gallant

Vous devez à peu près parcourir le tableau et vérifier chaque élément.

#include <stdbool.h>

bool isvalueinarray(int val, int *arr, int size){
    int i;
    for (i=0; i < size; i++) {
        if (arr[i] == val)
            return true;
    }
    return false;
}
33
luser droog