Python gdzie na liście

Python gdzie na liście

Metoda Where () w Pythonie jest używana do sprawdzenia określonego warunku na każdym elemencie tablicy, a następnie wybrać odpowiednią wartość, którą należy umieścić na wskaźniku tego elementu, w zależności od wyniku warunku. Jednak zastosowanie „Gdzie()„Metoda na liście lista musi zostać najpierw przekonwertowana na tablicę

Metoda „gdzie ()” nie jest wbudowaną metodą języka Pythona, w rzeczywistości należy do pakietu „Numpy”. Aby zrozumieć działanie metody „gdzie ()”, spójrz na jej składnię:

Składnia metody „gdzie ()”

Składnia metody „gdzie ()” można wykazać jako:

NP.gdzie (warunek, wartość 1, wartość2)

W powyższej składni:

  • stan do sprawdzenia na każdym elemencie listy wewnątrz metody Where ()
  • wartość 1: do umieszczenia, jeśli warunek zdefiniowany w metodzie Where () PRAWDA
  • wartość2: do użycia, jeśli warunek w metodzie Where () daje FAŁSZ

Dodatkowe informacje

W przypadku metody „gdzie ()” następujące aspekty są ważne i należy je przestrzegać

  • Wartość1 i wartość2 są opcjonalnymi parametrami. Jednak oba są dostarczone lub żadne.
  • Parametry wartości1 i wartości2 mogą być wartością statyczną, ciągiem statycznym lub tablicą. Jeśli jednak wartości te są tablicą, kształt i rozmiar tablicy powinny pasować do tablicy w stanie

Przykład 1: Pobieranie elementów pasujących do stanu

W tym pierwszym przykładzie weźmiesz listę i pobrać tylko te elementy, które pasują do określonego warunku. Aby to zrobić, najpierw utwórz listę i użyj następującego wiersza:

importować Numpy jako NP
liczby = (1 66,2,23,91,14,51,47)

Zadanie polega na wyborze elementów, które mają wartość wyższą niż „50”, przekonwertować listę na tablicę, a następnie użyć następującego warunku w metodzie „gdzie ()”:

array = np.tablica (liczby)
wynik = (NP.gdzie (tablica> 50))

Na koniec wydrukuj wynik na terminalu:

Drukuj (wynik)

Kompletny fragment kodu dla tego przykładu jest:

importować Numpy jako NP
liczby = (1 66,2,23,91,14,51,47)
array = np.tablica (liczby)
wynik = (NP.gdzie (tablica> 50))
Drukuj (wynik)

Po uruchomieniu tego kodu widać, że wyjście to:

Wyjście wyświetla wartości „indeksu” elementu, które spełniają warunek w metodzie „gdzie ()”.

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

Przykład 2: Zapewnienie obu przypadków stanu

W tym przykładzie zapewniasz oba działania, które mają być wykonywane w zależności od wyniku wynikającego z tego stanu. Aby to zademonstrować, weź następujące oceny studentów na określony temat:

importować Numpy jako NP
wyniki = (52,46,91,33,52,67,51,47)

Następnie zastosuj warunki, że jeśli wynik ucznia przekracza 50, udzień uczniowi statusu „Pass”, w przeciwnym razie „Upadek”

array = np.tablica (wyniki)
wynik = (NP.gdzie (tablica> 50, „pass”, „fail”))

Następnie wyświetl zarówno listę, oryginał i wynik, na terminalu przy użyciu następujących wierszy kodu:

Drukuj („Oryginalna lista:”, wyniki)
Drukuj („Werdykt:”, wynik)

Kompletny fragment kodu dla tego przykładu byłby:

importować Numpy jako NP
wyniki = (52,46,91,33,52,67,51,47)
array = np.tablica (wyniki)
wynik = (NP.gdzie (tablica> 50, „pass”, „fail”))
Drukuj („Oryginalna lista:”, wyniki)
Drukuj („Werdykt:”, wynik)

Uruchomienie tego kodu przyniesie następujący wynik na terminalu:

Przykład 3: Używanie tablic jako warunku

W tym przykładzie wykonaj warunek na liście i na podstawie tego warunku, wybierz wartość z tablicy w drugim parametrze metody Where () lub tablicy w trzecim parametrze.

Zacznij od importu pakietu Numpy, a następnie utwórz listę za pomocą następujących wierszy:

importować Numpy jako NP
wyniki = (52,46,91,33,52,67,51,47)

Jeśli wartość jest większa niż 50, weź wartość z tablicy drugiego parametru, a jeśli jest niższa, użyj tablicy w trzecim parametrze:

array = np.tablica (wyniki)
wynik = (NP.gdzie (tablica> 50 ,
[1,2,3,4,5,6,7,8],
[11,12,13,14,15,16,17,18]))))

I na koniec wydrukuj tablice na terminalu:

Drukuj („Oryginalna lista:”, wyniki)
Drukuj („Nowa lista:”, wynik)

Kompletny fragment kodu dla tego przykładu jest:

importować Numpy jako NP
wyniki = (52,46,91,33,52,67,51,47)
array = np.tablica (wyniki)
wynik = (NP.gdzie (tablica> 50 ,
[1,2,3,4,5,6,7,8],
[11,12,13,14,15,16,17,18]))))
Drukuj („Oryginalna lista:”, wyniki)
Drukuj („Nowa lista:”, wynik)

Ten kod daje następujący wynik na terminalu:

Ze wyjścia można zauważyć, że dla każdego elementu większego niż 50 nowa wartość jest mniejsza niż 10 (drugi parametr), a dla każdego elementu niższego niż 50 nowa wartość jest teraz większa niż 10 (trzeci parametr)

Przykład 4: Wykonywanie operacji na podstawie stanu

W tym przykładzie weź następującą listę:

importować Numpy jako NP
Lista = (1,2,3,4,5,6,7,8,9)

Jeśli element jest równy, weź go tak, jak jest, jeśli jest dziwne, pomnóż go z 10 za pomocą:

array = np.tablica (lista)
wynik = (NP.gdzie (tablica %2 == 0, tablica, tablica*10)

A następnie wydrukuj wynik na terminalu:

Drukuj („Lista oryginalna:”, lista)
Drukuj („Nowa lista:”, wynik)

Kompletny fragment kodu w tym przykładzie jest to:

importować Numpy jako NP
Lista = (1,2,3,4,5,6,7,8,9)
array = np.tablica (lista)
wynik = (NP.gdzie (tablica %2 == 0, tablica, tablica*10)
Drukuj („Lista oryginalna:”, lista)
Drukuj („Nowa lista:”, wynik)

Uruchomienie tego wyżej wymienionego fragmentu kodu przyniesie następujący wynik:

Wyjście potwierdza, że ​​każdy element nieparzysty został pomnożony przez 10.

Wniosek

„„Gdzie()”Metoda działa jako rodzaj filtra, który filtruje element w zależności od warunku, a na podstawie tego warunku może wykonywać działania na elemencie. Aby użyć metody „gdzie ()”, użytkownik musi zaimportować bibliotekę Numpy jako metodę „gdzie ()” nie jest wbudowaną metodą Pythona. Ponadto lista musi zostać przekonwertowana na tablicę Numpy przed zastosowaniem metody Where ().