SORU
2 EYLÜL 2008, Salı


Nasıl tek bir ifadede iki Python sözlükler birleştirebilir miyim?

İki Python sözlükler var, ve bu iki sözlük, birleştirilmiş döndüren tek bir deyim yazmak istiyorum. Eğer bir dict-yer değiştirmek yerine bu sonucu Verdi update() yöntemi ihtiyacım var ne olur.

>>> x = {'a':1, 'b': 2}
>>> y = {'b':10, 'c': 11}
>>> z = x.update(y)
>>> print z
None
>>> x
{'a': 1, 'b': 10, 'c': 11}

Nasıl z, x bu son birleştirilmiş dict alabilir miyim?

Ekstra-net (son-bir-galibiyet dict.update() çatışma kullanım için arıyorum.)

CEVAP
2 EYLÜL 2008, Salı


Ne yapabilirim senin durumunda

z = dict(x.items()   y.items())

Bu, istediğiniz gibi, koy son dict z ve değeri b düzgün tarafından geçersiz kılınan ikinci (y) dict değeri:

>>> x = {'a':1, 'b': 2}
>>> y = {'b':10, 'c': 11}
>>> z = dict(x.items()   y.items())
>>> z
{'a': 1, 'c': 11, 'b': 10}

Eğer Python 3 kullanıyorsanız, sadece biraz daha karmaşıktır. z oluşturmak için:

>>> z = dict(list(x.items())   list(y.items()))
>>> z
{'a': 1, 'c': 11, 'b': 10}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Diogo Oliveira

    Diogo Olivei

    4 HAZİRAN 2006
  • Elliot Davin

    Elliot Davin

    28 Kasım 2008
  • WhtButterflyLiz

    WhtButterfly

    14 NİSAN 2008