Cel mai bun răspuns
Iată o funcție pentru a verifica dacă un șir este gol:
def is\_empty(string):
return not string.strip()
Secvențele goale sunt fals și se evaluează la False într-un context boolean. Puteți utiliza acest lucru pentru a verifica dacă un șir este gol sau nu. Îndepărtați mai întâi spațiul alb, astfel încât dacă șirul conține doar spații albe, acestea vor fi eliminate și șirul va fi nul, evaluându-se la False. Puteți elimina metoda strip () dacă nu doriți ca șirurile cu spații albe să fie considerate Gol.
Exemplu de utilizare:
print(is\_empty("")) # Empty string.
print(is\_empty(" ")) # String with only a space char.
print(is\_empty("Hello!")) # String with actual characters.
Ieșire:
Adevărat
Adevărat
Fals
Notă: Fii explicit și folosește bool () în funcția dacă trebuie, de asemenea, să transmiteți alte funcții decât șirurile către funcție.
Răspunde
Voi presupune că vorbești despre liste (Python are matrici , dar sunt foarte diferite de liste).
Trei moduri:
1 Testați veridicitatea
Dacă știți că elementul este o listă, faceți:
if not my\_list:
print(‘List is empty’)
Containerele goale (liste, seturi, tupluri, dicte) se evaluează ca False
2 Test împotriva unui em listă pty
if my\_list == []:
print(‘List is empty’)
3 Testați lungimea
if len(my\_list) == 0:
print(‘List is empty’)
Dintre cele trei opțiuni, prima este considerată a fi cea mai curată
Adițional:
Dacă vă testați lista înainte de a încerca să o utilizați, cel mai bun mod de a face acest lucru este să nu vă deranjați și pur și simplu folosiți lista și să prindeți erorile:
try:
customer = customer\_list[customer\_number]
except IndexError:
print(‘List is empty or {customer\_number} doesn’t exist’)
Preluarea erorii astfel este considerată mai bună decât testarea explicită a golului. Este unul dintre principiile Python numite EAFP: Mai ușor să cereți iertare decât permisiunea.
Note privind matricile numpy.
Numpy nu respectă în mod necesar mecanismele de mai sus – de exemplu, metoda 1 generează o eroare, iar metoda 3 de mai sus ar trebui să fie the\_array.size == 0
de exemplu.