Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Gộp nhiều Dictionary trong Python

Gộp (merge) nhiều dict: key trùng → value dict sau ghi đè (hoặc logic tùy chỉnh).

Cách 1: Vòng lặp + update()

dicts = [{'a': 1, 'b': 2}, {'b': 3, 'c': 4}, {'d': 5}]
merged = {}
for d in dicts:
    merged.update(d)
print(merged)  # {'a': 1, 'b': 3, 'c': 4, 'd': 5}

Cách 2: Dict unpacking (Python 3.5+)

merged = {**dicts[0], **dicts[1], **dicts[2]}

Cách 3: Union operator | (Python 3.9+)

merged = dicts[0] | dicts[1] | dicts[2]

Cách 4: ChainMap (view, không copy, ưu tiên dict đầu)

from collections import ChainMap
merged = ChainMap(*dicts)  # merged['b'] = 2 (dict đầu tiên)
# Chuyển thành dict thường
dict(merged)

Chọn cách nào? Python 3.9+ dùng |; 3.5-3.8 dùng {**d1, **d2}; cần view động dùng ChainMap.