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

  • akalyne

    akalyne

    13 Mayıs 2009
  • Arun Kumar

    Arun Kumar

    18 Mart 2010
  • Jonah Penna

    Jonah Penna

    11 EYLÜL 2005