Cum se verifică dacă șirul este gol în Python


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.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *