Najlepsza odpowiedź
Oto funkcja sprawdzająca, czy ciąg jest pusty:
def is\_empty(string):
return not string.strip()
Puste sekwencje są fałszywe i są oceniane jako fałszywe w kontekście logicznym. Możesz użyć tego, aby sprawdzić, czy ciąg jest pusty, czy nie. Najpierw usuń białe spacje, aby jeśli ciąg zawiera tylko białe znaki, zostaną one usunięte, a ciąg będzie miał wartość NULL, oceniając na False. Możesz usunąć metodę strip (), jeśli nie chcesz, aby ciągi zawierające tylko białe znaki były uważane za puste.
Przykład użycia:
print(is\_empty("")) # Empty string.
print(is\_empty(" ")) # String with only a space char.
print(is\_empty("Hello!")) # String with actual characters.
Wynik:
Prawda
Prawda
Fałsz
Uwaga: Pisz wyraźnie i używaj bool () w funkcję, jeśli musisz również przekazać do funkcji coś innego niż łańcuchy.
Odpowiedź
Zakładam, że mówisz o listach (Python ma tablice , ale bardzo różnią się od list).
Trzy sposoby:
1 Sprawdź prawdziwość
Jeśli wiesz, że pozycja jest listą, wykonaj następujące czynności:
if not my\_list:
print(‘List is empty’)
Puste kontenery (listy, zbiory, krotki, dykty) są oceniane jako fałszywe
2 Test na em lista pty
if my\_list == []:
print(‘List is empty’)
3 Sprawdź długość
if len(my\_list) == 0:
print(‘List is empty’)
Z trzech opcji pierwsza jest uważana za najczystszą
Dodatkowe:
Jeśli testujesz swoją listę, zanim spróbujesz jej użyć, najlepszym sposobem na to jest nie zawracać sobie głowy i po prostu skorzystać z listy i wyłapać błędy:
try:
customer = customer\_list[customer\_number]
except IndexError:
print(‘List is empty or {customer\_number} doesn’t exist’)
Uchwycenie takiego błędu jest uważane za lepsze niż jawne testowanie pustki. Jest to jedna z zasad Pythona zwana EAFP: łatwiej poprosić o wybaczenie niż o pozwolenie.
Uwagi o tablicach numpy.
Numpy niekoniecznie stosuje powyższe mechanizmy – na przykład metoda 1 generuje błąd, a metoda 3 powyżej powinna na przykład być the\_array.size == 0
.