hey orada da aynı sorunu yaşadım ama bir çözüm olduğunu düşündüm ve burada yayınlayacağım, başkaları için de yararlı olması durumunda, temelde iç içe geçmiş sözlükleri birleştirip değerleri de ekleyerek, benim için bazı olasılıkları hesaplamam gerekiyordu, bu yüzden bu biri harika çalıştı:
#used to copy a nested dict to a nested dict
def deepupdate(target, src):
for k, v in src.items():
if k in target:
for k2, v2 in src[k].items():
if k2 in target[k]:
target[k][k2]+=v2
else:
target[k][k2] = v2
else:
target[k] = copy.deepcopy(v)
yukarıdaki yöntemi kullanarak şunları birleştirebiliriz:
hedef = {'6,6': {'6,63': 1}, '63, 4 ': {' 4,4 ': 1},' 4,4 ': {' 4,3 ': 1} , '6,63': {'63, 4 ': 1}}
src = {'5,4': {'4,4': 1}, '5,5': {'5,4': 1}, '4,4': {'4,3': 1} }
ve bu şu şekilde olacaktır: {'5,5': {'5,4': 1}, '5,4': {'4,4': 1}, '6,6': {'6,63' : 1}, '63, 4 ': {' 4,4 ': 1},' 4,4 ': {' 4,3 ': 2},' 6,63 ': {'63, 4': 1 }}
ayrıca buradaki değişiklikleri de fark edin:
hedef = {'6,6': {'6,63': 1}, '6,63': {'63, 4 ': 1}, ' 4,4 ': {' 4,3 ': 1} , '63, 4 ': {' 4,4 ': 1}}
src = {'5,4': {'4,4': 1}, '4,3': {'3,4': 1}, '4,4': {'4,9': 1} , "3,4": {"4,4": 1}, "5,5": {"5,4": 1}}
birleştirme = {'5,4': {'4,4': 1}, '4,3': {'3,4': 1}, '6,63': {'63, 4 ': 1} , '5,5': {'5,4': 1}, '6,6': {'6,63': 1}, '3,4': {'4,4': 1}, ' 63,4 ': {' 4,4 ': 1}, ' 4,4 ': {' 4,3 ': 1,' 4,9 ': 1} }
kopyalamak için içe aktarmayı da eklemeyi unutmayın:
import copy
y
Seviyeye kadar düzleşmek mi istiyorsunc
yoksa ne? Örneğiniz eksik.