Python dove nella lista

Python dove nella lista

Il metodo Where () in Python viene utilizzato per verificare una particolare condizione su ogni elemento di un array e quindi scegliere un rispettivo valore da posizionare sull'indice di quell'elemento a seconda del risultato della condizione. Tuttavia, per applicare il "Dove()"Metodo in un elenco, l'elenco deve essere convertito prima in un array

Il metodo "Where ()" non è un metodo integrato del linguaggio Python, in realtà appartiene al pacchetto "Numpy". Per capire il lavoro del metodo "Where ()", dai un'occhiata alla sua sintassi:

Sintassi del metodo "Where ()"

La sintassi del metodo "dove ()" può essere dimostrata come:

np.dove (condizione, valore1, valore2)

Nella sintassi sopra:

  • condizione da controllare su ogni elemento dell'elenco all'interno del metodo Where ()
  • valore1: da posizionare se la condizione definita nel resa del metodo Where () VERO
  • valore2: da usare se la condizione in dove () il metodo produce falso

Informazioni aggiuntive

Per il metodo "dove ()", i seguenti aspetti sono importanti e devono essere seguiti

  • Il valore1 e il valore2 sono parametri opzionali. Tuttavia, entrambi sono forniti o nessuno.
  • I parametri Value1 e Value2 possono essere un valore statico, una stringa statica o un array. Tuttavia, se questi valori sono array, la forma e la dimensione dell'array dovrebbero corrispondere all'array nella condizione

Esempio 1: Fetch Elements che corrispondono alla condizione

In questo primo esempio, prendi un elenco e prenderà solo quegli elementi che corrispondono a una determinata condizione. Per fare questo, prima, crea un elenco e usa la riga seguente:

Importa Numpy come NP
Numeri = (1,66,2,23,91,14,51,47)

L'attività è scegliere solo gli elementi che hanno un valore superiore a "50", per questo, convertire l'elenco in un array e quindi utilizzare la seguente condizione nel metodo "Where ()":

array = np.array (numeri)
risultato = (NP.dove (array> 50))

Infine, stampare il risultato sul terminale:

Stampa (risultato)

Lo snippet di codice completo per questo esempio è come:

Importa Numpy come NP
Numeri = (1,66,2,23,91,14,51,47)
array = np.array (numeri)
risultato = (NP.dove (array> 50))
Stampa (risultato)

All'esecuzione di questo codice, puoi vedere che l'output è:

L'output visualizza i valori "indice" dell'elemento che soddisfano la condizione nel metodo "Where ()".

  • Indice 1 = 66
  • Indice 4 = 91
  • Indice 6 = 51

Esempio 2: fornire entrambi i casi per la condizione

In questo esempio, fornirai entrambe le azioni che devono essere eseguite a seconda del risultato prodotto dalla condizione. Per dimostrarlo, prendi i seguenti segni degli studenti in una certa materia:

Importa Numpy come NP
Punteggi = (52,46,91,33,52,67,51,47)

Successivamente, applica le condizioni che se il punteggio dello studente è superiore a 50 anni, concedi allo studente lo status di "pass", altrimenti "fallire"

array = np.array (punteggi)
risultato = (NP.dove (array> 50, "pass", "fail")

Successivamente, visualizza entrambi l'elenco, originale e risultato, sul terminale utilizzando le seguenti righe di codice:

Print ("Elenco originale:", punteggi)
Stampa ("Verdetto:", risultato)

Lo snippet di codice completo per questo esempio sarebbe:

Importa Numpy come NP
Punteggi = (52,46,91,33,52,67,51,47)
array = np.array (punteggi)
risultato = (NP.dove (array> 50, "pass", "fail")
Print ("Elenco originale:", punteggi)
Stampa ("Verdetto:", risultato)

L'esecuzione di questo codice produrrà il seguente risultato sul terminale:

Esempio 3: usando gli array come condizione

In questo esempio, eseguire la condizione nell'elenco e, in base a quella condizione, scegli il valore dall'array nel secondo parametro del metodo Where () o nell'array nel terzo parametro.

Inizia importando il pacchetto numpy e quindi crea un elenco utilizzando le seguenti righe:

Importa Numpy come NP
Punteggi = (52,46,91,33,52,67,51,47)

Se il valore è maggiore di 50, prendi il valore dall'array del secondo parametro e se è inferiore, utilizzare l'array nel terzo parametro:

array = np.array (punteggi)
risultato = (NP.dove (array> 50 ,
[1,2,3,3,5,6,7,8],
[11,12,13,14,15,16,17,18]))

E infine, stampare gli array sul terminale:

Print ("Elenco originale:", punteggi)
Print ("Nuovo elenco:", risultato)

Lo snippet di codice completo per questo esempio è come:

Importa Numpy come NP
Punteggi = (52,46,91,33,52,67,51,47)
array = np.array (punteggi)
risultato = (NP.dove (array> 50 ,
[1,2,3,3,5,6,7,8],
[11,12,13,14,15,16,17,18]))
Print ("Elenco originale:", punteggi)
Print ("Nuovo elenco:", risultato)

Questo codice produce il seguente risultato sul terminale:

Dall'output, si può vedere che per ogni elemento maggiore di 50, il nuovo valore è inferiore a 10 (secondo parametro) e per ogni elemento inferiore a 50, il nuovo valore è ora maggiore di 10 (terzo parametro)

Esempio 4: eseguire operazioni in base alla condizione

In questo esempio, prendi il seguente elenco:

Importa Numpy come NP
Elenco = (1,2,3,4,5,6,7,8,9)

Se l'oggetto è pari, prendilo così com'è, se è strano, moltiplicalo con 10 usando:

array = np.lista di array)
risultato = (NP.dove (array %2 == 0, array, array*10)

E quindi stampare il risultato sul terminale:

Print ("Elenco originale:", elenco)
Print ("Nuovo elenco:", risultato)

Lo snippet di codice completo per questo esempio è questo:

Importa Numpy come NP
Elenco = (1,2,3,4,5,6,7,8,9)
array = np.lista di array)
risultato = (NP.dove (array %2 == 0, array, array*10)
Print ("Elenco originale:", elenco)
Print ("Nuovo elenco:", risultato)

L'esecuzione di questo frammento di codice sopra menzionato produrrà il seguente risultato:

L'output conferma che ogni elemento dispari è stato moltiplicato per 10.

Conclusione

IL "Dove()"Il metodo funge da una sorta di filtro che filtra l'elemento in base alla condizione e in base a questa condizione può eseguire azioni sull'elemento. Per utilizzare il metodo "Where ()", l'utente deve importare la libreria Numpy come metodo "Where ()" non è un metodo integrato di Python. Inoltre, l'elenco deve essere convertito in un array numpy prima di applicare il metodo Where () su di esso.