Escludere lo zero nei dati forniti in Haskell [chiuso]

-1

Ho una lista di numeri interi. Inoltre, ho una funzione che restituisce True quando l'elemento è diverso da zero e restituisce False quando l'elemento è zero (chiamiamolo FUNCTION1).

Quindi, come definire un'altra funzione (usando FUNCTION1), che ci darà un nuovo elenco e includerà solo gli elementi non vuoti?

Ad esempio, abbiamo [1,2,3,0,6,0] e vogliamo [1,2,3,6]

    
posta crazy 10.05.2013 - 15:54
fonte

1 risposta

4

Quello che stai cercando è la funzione filter .

Per filtrare 0 da un elenco, si direbbe:

filter (\x -> not (x==0)) [1,2,3,0,6,0]
-- or better yet
filter (not . (==0)) [1,2,3,0,6,0]
-- or best of all
filter (/=0) [1,2,3,0,6,0]

Se lo desideri, puoi sostituire la funzione anonima con la tua funzione nominata. Dovrebbe funzionare allo stesso modo:

filter Function1 [1,2,3,0,6,0]
    
risposta data 10.05.2013 - 16:17
fonte

Leggi altre domande sui tag