SORU
13 HAZİRAN 2012, ÇARŞAMBA


Herhangi bir pythonic yol iki dicts (hem görünen anahtarları için değer ekleme) birleştirmek için var mı?

Örneğin iki dicts var:

Dict A: {'a':1, 'b':2, 'c':3}
Dict B: {'b':3, 'c':4, 'd':5}

En pythonic bir yolunu bulmam gerek 'birleştiren' sonucu bu iki dicts

{'a':1, 'b':5, 'c':7, 'd':5}

Şöyle ki: eğer bir anahtar hem dicts görünüyorsa, eğer tek bir dict görünür eğer onların değerlerini ekleyin, kendi değer tutun.

CEVAP
13 HAZİRAN 2012, ÇARŞAMBA


Kullanım collections.Counter:

>>> from collections import Counter
>>> A = Counter({'a':1, 'b':2, 'c':3})
>>> B = Counter({'b':3, 'c':4, 'd':5})
>>> A   B
Counter({'c': 7, 'b': 5, 'd': 5, 'a': 1})

Sayaçları temelde dict, yine de onlarla her şeyi yapabilirsiniz, böylece normalde bu tür yapmak istiyorum, anahtarları ve değerleri yineleme gibi bir alt sınıfı vardır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Wills

    David Wills

    31 Aralık 2007
  • Jonathan Morrison

    Jonathan Mor

    24 Mart 2010
  • MisterBrightside

    MisterBright

    24 Mart 2006