Tarkista, onko annettu avain jo olemassa sanakirjassa.
Halusin testata, onko avain olemassa sanakirjassa ennen avaimen arvon päivittämistä. Kirjoitin seuraavan koodin:
if 'key1' in dict.keys():
print "blah"
else:
print "boo"
Mielestäni tämä ei ole paras tapa suorittaa tämä tehtävä. Onko parempaa tapaa testata avainta sanakirjassa?
2683
3
Sinun ei tarvitse soittaa avaimiin:
Se on paljon nopeampaa, koska se käyttää sanakirjan's hashingia eikä lineaarista hakua, joka tehtäisiin kutsumalla keys.
Voit lyhentää tätä:
Tämä on kuitenkin korkeintaan kosmeettinen parannus. Miksi uskot, että tämä ei ole paras tapa?
Suosittelen sen sijaan käyttämään menetelmää
setdefault
. Se kuulostaa siltä, että se tekee kaiken haluamasi.