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

Python - Gộp danh sách Dictionary có key trùng lặp


Gộp hai danh sách dictionary tương ứng theo index: với mỗi cặp dictionary cùng index, thêm các key từ dict thứ hai vào dict thứ nhất nếu key đó chưa tồn tại.

Ví dụ

Minh họa:

my_list_1 = [{"aba": 1, "best": 4}, {"python": 10, "fun": 15}, {"scala": "fun"}]
my_list_2 = [{"scala": 6}, {"python": 3, "best": 10}, {"java": 1}]
print("List 1:", my_list_1)
print("List 2:", my_list_2)
for i in range(0, len(my_list_1)):
    id_keys = list(my_list_1[i].keys())
    for key in my_list_2[i]:
        if key not in id_keys:
            my_list_1[i][key] = my_list_2[i][key]
print("Kết quả:", my_list_1)

Kết quả

List 1: [{'aba': 1, 'best': 4}, {'python': 10, 'fun': 15}, {'scala': 'fun'}]
List 2: [{'scala': 6}, {'python': 3, 'best': 10}, {'java': 1}]
Kết quả: [{'aba': 1, 'best': 4, 'scala': 6}, {'python': 10, 'fun': 15, 'best': 10}, {'scala': 'fun', 'java': 1}]

Giải thích

  • Lặp qua index của list 1.
  • Lấy danh sách key của dict 1 tại index đó.
  • Lặp qua key của dict 2 cùng index, nếu key chưa có trong dict 1 thì thêm cặp key-value từ dict 2 vào dict 1.