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

  • Artorius FullPower

    Artorius Ful

    29 Temmuz 2007
  • Dave Wallace

    Dave Wallace

    27 Kasım 2007
  • Shaollin Animes

    Shaollin Ani

    19 HAZİRAN 2013