Migliore risposta
Ecco una funzione per controllare se una stringa è vuoto:
def is\_empty(string):
return not string.strip()
Le sequenze vuote sono false e valutano False in un contesto booleano. Puoi usarlo per verificare se una stringa è vuota o meno. Rimuovi prima gli spazi bianchi in modo che se la stringa contiene solo spazi bianchi, verranno rimossi e la stringa sarà nulla, valutando False. Puoi rimuovere il metodo strip () se non vuoi che le stringhe con solo spazi bianchi siano considerate vuote.
Esempio di utilizzo:
print(is\_empty("")) # Empty string.
print(is\_empty(" ")) # String with only a space char.
print(is\_empty("Hello!")) # String with actual characters.
Risultato:
True
True
Falso
Nota: Sii esplicito e usa bool () in la funzione se hai anche bisogno di passare cose diverse dalle stringhe alla funzione.
Risposta
Immagino che tu stia parlando di liste (Python ha array , ma sono molto diversi dagli elenchi).
Tre modi:
1 Verifica la veridicità
Se sai che lelemento è un elenco:
if not my\_list:
print(‘List is empty’)
I contenitori vuoti (elenchi, insiemi, tuple, dict) vengono valutati come False
2 Verifica contro un em elenco pty
if my\_list == []:
print(‘List is empty’)
3 Verifica la lunghezza
if len(my\_list) == 0:
print(‘List is empty’)
Delle tre opzioni, la prima è considerata la più pulita
Aggiuntiva:
Se stai testando il tuo elenco prima di provare a usarlo, il modo migliore per farlo è non preoccuparti, e usare semplicemente lelenco e individuare gli errori:
try:
customer = customer\_list[customer\_number]
except IndexError:
print(‘List is empty or {customer\_number} doesn’t exist’)
Cogliere lerrore in questo modo è considerato meglio che testare esplicitamente il vuoto. È uno dei principi di Python chiamato EAFP: più facile chiedere perdono che permessi.
Note sugli array numpy.
Numpy non segue necessariamente i meccanismi di cui sopra, ad esempio il metodo 1 genera un errore e il metodo 3 sopra dovrebbe essere the\_array.size == 0
per esempio.