Listy służą do przechowywania danych różnych typów, a dane te mogą być bezpośrednio wykorzystywane do analizy danych lub do celów przetwarzania danych. „Brak” na liście może powodować poważne dwuznaczności w wyniku tych operacji, co nie jest tym, czego chcesz, czy ty? Cóż, ten przewodnik wykorzystuje różne metody i podejścia do usunięcia wszystkich wartości „brak” z listy.
Poniżej wymieniono wszystkie różne rozwiązania, które można użyć do usunięcia braku z listy w Python:
Rozwiązanie 1: Za pomocą metody remove () za pomocą metody __Contains __ ()
Ilekroć użytkownik chce usunąć element, pierwszą metodą, która przychodzi na myśl. Jednak metody usuwania nie można użyć do usuwania wszystkich/wielu wartości Brak z listy. Ponieważ metoda remove () usuwa tylko pierwszą instancję elementu z listy.
Aby to zademonstrować, weź następujący kod:
Listvar = [69,22,65, brak, Brak, 123 6789, brak]
Listvar.Usuń (brak)
Drukuj (ListVar)
Wykonanie tego kodu przyniesie następujący wynik na terminalu twojego komputera:
Wyjście potwierdza, że tylko pierwsza instancja „Brak” została usunięta. Aby usunąć wszystkie instancje „Brak” z listy, użyj pętli When wraz z metodą __Contains __ ():
Listvar = [69,22,65, brak, Brak, 123 6789, brak]
podczas Listvar.__Contains __ (brak):
Listvar.Usuń (brak)
Drukuj (ListVar)
W tym fragmencie kodu pętla While działa, aż na liście nie będzie więcej instancji „Brak”. Po wykonaniu tego kodu, daje następujący wynik na terminalu:
Dane wyjściowe potwierdza, że na liście nie można znaleźć więcej „brak”, co oznacza, że wszystkie zostały pomyślnie usunięte.
Rozwiązanie 2: Korzystanie ze zrozumienia listy z kondycjonowaniem IF
Innym sposobem usunięcia „brak” z listy jest użycie rozumienia listy, aby przejść przez każdy element, porównywanie go z „brakiem” poprzez kwartację IF i umieszczenie wartości nie-none na osobnej liście.
Aby usunąć brak z listy za pomocą tej metody, weź następujący fragment kodu:
Listvar = [69,22,65, brak, Brak, 123 6789, brak]
newList = []
dla x w ListVar:
Jeśli x nie jest żadnym:
Nowa lista.Dodatek (x)
Drukuj („Oryginalna lista:”, ListVar)
Drukuj („Nowa lista:”, NewList)
Po wykonaniu tego kodu daje następujący wynik na terminalu twojego komputera:
Wyjście potwierdza, że nie ma wartości „brak” na nowej liście.
Rozwiązanie 3: Za pomocą metody filtr () do usuwania wartości Brak z listy
Metodę Filter () można również użyć do usunięcia „brak” z listy, ale używanie jej normalnego może powodować pewne problemy. Metoda Filter () uważa wartość „0” za „Brak” i usuwa ją również z listy. Aby to zademonstrować, weź następujący kawałek kodu:
Listvar = [69,0,22,65,0, brak, brak, 123 6789, brak]
res = lista (filtr (brak, listvar))
Drukuj („Oryginalna lista:”, ListVar)
Drukuj („Lista po filtrze:”, res)
Po wykonaniu tego kodu wytworzy on następujący wynik na terminalu:
Ze wyjścia można wyraźnie zaobserwować, że metoda filtra () usunęła również wartość „0” z listy.
Prawidłowym sposobem użycia metody Filter () w celu usunięcia wszystkich wartości „Brak” z listy bez przerywania innych wartości listy jest użycie „instrukcji Lambda” w pierwszym argumencie:
Listvar = [69,0,22,65,0, brak, brak, 123 6789, brak]
res = lista (Filter (Lambda Elem: ELEM nie jest brak, ListVar))
Drukuj („Oryginalna lista:”, ListVar)
Drukuj („Lista po filtrze:”, res)
Tym razem, gdy kod zostanie wykonany, wytworzy on następujące dane wyjściowe na terminalu:
Jak widać, pomyślnie usunąłeś wszystkie wartości „Brak” z listy za pomocą metody Filter ().
Wniosek
Użytkownik może usunąć wszystkie „Nic”Wartości z listy Python za pomocą metody remove () wraz z metodą __Contains __ (), wymieniaj rozumienie z kondycją IF lub za pomocą metody Filter () z instrukcją Lambda. Wszystkie te trzy metody zostały dokładnie rozwinięte w tym poście z reprezentacją obrazkową.