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

  • Incredible Tutorials

    Incredible T

    27 EKİM 2006
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008