Python hvor i listen

Python hvor i listen

Where () -metoden i Python brukes til å sjekke for en bestemt tilstand på hvert element i en matrise og deretter velge en respektiv verdi som skal plasseres på det elementets indeks avhengig av resultatet av tilstanden. Imidlertid for å bruke "hvor()”Metode på en liste, listen må først konverteres til en matrise først

"Where ()" -metoden er ikke en innebygd metode for Python-språket, den hører faktisk til "Numpy" -pakken. For å forstå arbeidet med “Where ()” -metoden, ta en titt på syntaks:

Syntaks av “hvor ()” -metoden

Syntaksen til “Where ()” -metoden kan demonstreres som:

np.hvor (tilstand, verdi1, verdi2)

I syntaks ovenfor:

  • betingelse som skal sjekkes på hvert element på listen inne i hvor () -metoden
  • verdi1: som skal plasseres hvis tilstanden som er definert i hvor () metodeutbytte ekte
  • verdi2: som skal brukes hvis tilstanden i hvor () -metoden gir falsk

Ytterligere informasjon

For "hvor ()" -metoden er følgende aspekter viktige og må følges

  • Verdien1 og verdi2 er valgfrie parametere. Imidlertid er begge begge levert eller ingen.
  • Verdien1 og verdien2 -parametrene kan være en statisk verdi, statisk streng eller matrise. Imidlertid, hvis disse verdiene er array, bør formen og størrelsen på matrisen samsvare med matrisen i tilstanden

Eksempel 1: Hent elementer som samsvarer med tilstanden

I dette første eksemplet skal du ta en liste og hente bare de elementene som samsvarer med en viss tilstand. For å gjøre dette, lag først en liste og bruk følgende linje:

Importer numpy som NP
Tall = (1,66,2,23,91,14,51,47)

Oppgaven er å bare velge elementene som har en verdi som er høyere enn “50”, for det, konverter listen til en matrise og deretter bruke følgende tilstand i “Where ()” -metoden:

Array = NP.Array (tall)
Resultat = (NP.hvor (matrise> 50))

Til slutt, skriv ut resultatet på terminalen:

trykk (resultat)

Det komplette kodebiten for dette eksemplet er som:

Importer numpy som NP
Tall = (1,66,2,23,91,14,51,47)
Array = NP.Array (tall)
Resultat = (NP.hvor (matrise> 50))
trykk (resultat)

Når du kjører denne koden, kan du se at utgangen er:

Utgangen viser "indeks" -verdiene til elementet som oppfyller tilstanden i "hvor ()" -metoden.

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

Eksempel 2: Gi begge tilfeller for tilstand

I dette eksemplet skal du gi begge handlingene som skal utføres avhengig av resultatet som er gitt av tilstanden. For å demonstrere dette, ta følgende merker av studenter i et bestemt emne:

Importer numpy som NP
Poeng = (52,46,91,33,52,67,51,47)

Etter det, bruk betingelsene for at hvis studenten er over 50, gi studenten status som "pass", ellers "mislykkes"

Array = NP.Array (score)
Resultat = (NP.hvor (array> 50, "pass", "mislykkes"))

Etter det, vis både listen, original og resultat, på terminalen ved å bruke følgende kodelinjer:

trykk ("Original liste:", score)
trykk ("Verdict:", resultat)

Det komplette kodebiten for dette eksemplet vil være:

Importer numpy som NP
Poeng = (52,46,91,33,52,67,51,47)
Array = NP.Array (score)
Resultat = (NP.hvor (array> 50, "pass", "mislykkes"))
trykk ("Original liste:", score)
trykk ("Verdict:", resultat)

Å kjøre denne koden kommer til å gi følgende resultat på terminalen:

Eksempel 3: Bruke matriser som tilstand

I dette eksemplet, utfør tilstanden på listen din, og basert på denne tilstanden, velg verdien fra enten matrisen i den andre parameteren til Where () -metoden eller matrisen i den tredje parameteren.

Begynn med å importere Numpy -pakken og lag deretter en liste ved hjelp av følgende linjer:

Importer numpy som NP
Poeng = (52,46,91,33,52,67,51,47)

Hvis verdien er større enn 50, kan du ta verdien fra den andre parameterens matrise, og hvis den er lavere, bruk matrisen i den tredje parameteren:

Array = NP.Array (score)
Resultat = (NP.hvor (matrise> 50 ,
[1,2,3,4,5,6,7,8],
[11,12,13,14,15,16,17,18])))

Og til slutt, skriv ut matriser på terminalen:

trykk ("Original liste:", score)
Print ("Ny liste:", Resultat)

Det komplette kodebiten for dette eksemplet er som:

Importer numpy som NP
Poeng = (52,46,91,33,52,67,51,47)
Array = NP.Array (score)
Resultat = (NP.hvor (matrise> 50 ,
[1,2,3,4,5,6,7,8],
[11,12,13,14,15,16,17,18])))
trykk ("Original liste:", score)
Print ("Ny liste:", Resultat)

Denne koden gir følgende resultat på terminalen:

Fra utgangen kan det sees at for hvert element større enn 50 er den nye verdien mindre enn 10 (andre parameter), og for hvert element som er lavere enn 50, er den nye verdien nå større enn 10 (tredje parameter)

Eksempel 4: Utførende operasjoner basert på tilstand

I dette eksemplet, ta følgende liste:

Importer numpy som NP
Liste = (1,2,3,4,5,6,7,8,9)

Hvis varen er jevn, ta det som det er, hvis det er rart, multipliser det med 10 ved å bruke:

Array = NP.Array (liste)
Resultat = (NP.hvor (array %2 == 0, matrise, matrise*10)

Og skriv deretter ut resultatet på terminalen:

trykk ("Original liste:", liste)
Print ("Ny liste:", Resultat)

Det komplette kodebiten for dette eksemplet er dette:

Importer numpy som NP
Liste = (1,2,3,4,5,6,7,8,9)
Array = NP.Array (liste)
Resultat = (NP.hvor (array %2 == 0, matrise, matrise*10)
trykk ("Original liste:", liste)
Print ("Ny liste:", Resultat)

Å kjøre dette ovennevnte kodebit vil gi følgende resultat:

Utgangen bekrefter at hvert rare element ble multiplisert med 10.

Konklusjon

hvor()”Metode fungerer som et slags filter som filtrerer elementet avhengig av tilstanden, og basert på denne tilstanden kan det utføre handlinger på elementet. For å bruke metoden “Where ()”, trenger brukeren å importere Numpy-biblioteket som “Where ()” -metoden er ikke en innebygd metode for Python. Listen må også konverteres til en numpy matrise før du bruker hvor () metoden på den.