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

  • André Frizzo

    André Frizz

    16 Aralık 2006
  • Louis C.K.

    Louis C.K.

    18 HAZİRAN 2006
  • Tomas N

    Tomas N

    14 Kasım 2010