Này, tôi cũng gặp vấn đề tương tự nhưng tôi mặc dù là một giải pháp và tôi sẽ đăng nó ở đây, trong trường hợp nó cũng hữu ích cho những người khác, về cơ bản hợp nhất các từ điển lồng nhau và thêm các giá trị, đối với tôi, tôi cần tính toán một số xác suất một người đã làm việc tuyệt vời:
#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)
bằng cách sử dụng phương pháp trên, chúng ta có thể hợp nhất:
mục tiêu = {'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} }
và điều này sẽ trở thành: {'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 }}
cũng lưu ý những thay đổi ở đây:
mục tiêu = {'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}}
hợp nhất = {'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} }
đừng quên thêm nhập để sao chép:
import copy
y
làm phẳng đếnc
cấp độ hoặc những gì? Ví dụ của bạn không đầy đủ.