Paras vastaus
Tässä on toiminto, jolla tarkistetaan, onko merkkijono tyhjä:
def is\_empty(string):
return not string.strip()
Tyhjät sekvenssit ovat virheellisiä ja arvioivat arvon False loogisessa kontekstissa. Tämän avulla voit tarkistaa, onko merkkijono tyhjä vai ei. Poista ensin välilyönti niin, että jos merkkijono sisältää vain välilyönnin, ne poistetaan ja merkkijono on tyhjä. Voit poistaa strip () -menetelmän, jos et halua, että merkkijonot, joissa on vain tyhjää tilaa, katsotaan tyhjiksi.
Esimerkki käytöstä:
print(is\_empty("")) # Empty string.
print(is\_empty(" ")) # String with only a space char.
print(is\_empty("Hello!")) # String with actual characters.
Tulos:
Tosi
Tosi
Väärä
Huomaa: Ole selkeä ja käytä boolia () funktio, jos haluat siirtää funktiolle myös muita kuin merkkijonoja.
Vastaa
Oletan, että puhut luetteloista (Pythonissa on taulukoita , mutta ne eroavat hyvin luetteloista).
Kolme tapaa:
1 Testaa totuus
Jos tiedät, että kohde on luettelo, teet:
if not my\_list:
print(‘List is empty’)
Tyhjät säilöt (luettelot, sarjat, joukot, diktatit) arvioidaan vääriksi
2 Testaa em pty-luettelo
if my\_list == []:
print(‘List is empty’)
3 Testaa pituus
if len(my\_list) == 0:
print(‘List is empty’)
Kolmesta vaihtoehdosta ensimmäistä pidetään puhtaimpana
Lisätietoja:
Jos testaat luetteloasi ennen kuin yrität käyttää sitä, paras tapa tehdä se on olla vaivautumatta ja yksinkertaisesti käyttää luetteloa ja havaita virheet:
try:
customer = customer\_list[customer\_number]
except IndexError:
print(‘List is empty or {customer\_number} doesn’t exist’)
Tällaisen virheen havaitsemista pidetään parempana kuin tyhjyyden nimenomaista testaamista. Se on yksi EAFP-nimisistä Python-periaatteista: Anteeksiantoa on helpompi pyytää kuin lupaa.
Huomautuksia numpy-matriiseista.
Numpy ei välttämättä noudata edellä mainittuja mekanismeja – esimerkiksi menetelmä 1 tuottaa virheen, ja yllä olevan menetelmän 3 tulisi olla esimerkiksi the\_array.size == 0
.