SORU
21 EKİM 2009, ÇARŞAMBA


Eğer belirli bir anahtarı varsa kontrol sözlüğe

Eğer bir anahtar değeri güncellemeden önce bir sözlük varsa test etmek istedim. Aşağıdaki kodu yazdım:

if 'key1' in dict.keys():
  print "blah"
else:
  print "boo"

Bu görevi başarmak için en iyi yol değildir bence. Daha iyi bir yol sözlükte bir anahtar için test var mı?

CEVAP
21 EKİM 2009, ÇARŞAMBA


in dict bir anahtar varlığını test etmek için tasarlanmıştır.

d = dict()

for i in xrange(100):
    key = i % 10
    if key in d:
        d[key]  = 1
    else:
        d[key] = 1

Eğer varsayılan istiyorsan, her zaman dict.get() kullanabilirsiniz:

d = dict()

for i in xrange(100):
    key = i % 10
    d[key] = d.get(key, 0)   1

... ve her zaman varsayılan bir değer sağlamak istediğini eğer herhangi bir tuşa collections defaultdict kullanabilirsiniz modül, şu şekilde:

from collections import defaultdict

d = defaultdict(lambda: 0)

for i in xrange(100):
    d[i % 10]  = 1

... ama genel olarak, in anahtar bunu yapmak için en iyi yoldur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • newreleaseblitz

    newreleasebl

    13 Ocak 2010
  • WiseOwlTutorials

    WiseOwlTutor

    21 EKİM 2011
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009