0
İki sözlükten oluşan iki işlevi var. Üçüncü işlevde, bu sözlükleri update
kullanarak birleştirmeyi denedim ancak yazdırma sırasında None
sonucu aldım. Hatamı açıklayan var mı? Bu şekilde Python 3.4 çalışmaz aradaPython'da iki sözlük birleştirilemiyor
def third():
a = first().copy()
return a.update(second())
:
def first():
dict1 = {
one : [1, 2, 3]
}
return dict1
def second():
dict2 = {
two : [3, 4, 5]
}
return dict2
def third():
return first().update(second)
print(third())
>>> None
Ben de bu yolu denedim
def third():
return dict(a.items() + b.items())
'.update' ** yerinde **, yeni bir sözlük döndürmüyor. Ör. Python 3 listesinde (a.items()) 'dır, ancak garip görünüyor. – jonrsharpe
Ayrıca, * '* saniye '' i çağırmanız gerekir, ör. 'd = ilk(); d.update (ikinci()) '. Şu anda sadece işlev nesnesine atıfta bulunuyorsunuz, döndürdüğü dict değil. –
Bence istediğin şey burada zaten cevaplanmış: http://stackoverflow.com/questions/38987/how-can-i-merge-two-python-dictionaries-in-a-single-expression –