Computer >> Máy Tính >  >> Lập trình >> Python

Python - Kết hợp hai từ điển thêm giá trị cho các khóa chung

Khi phân tích dữ liệu với python, chúng tôi gặp tình huống khi chúng tôi phải hợp nhất hai từ điển theo cách chúng tôi thêm giá trị của những phần tử có khóa có giá trị bằng nhau. Trong bài viết này, chúng ta sẽ thấy hai từ điển như vậy được thêm vào.

Với vòng lặp For và | Nhà điều hành

Trong cách tiếp cận này, chúng tôi thiết kế một vòng lặp for để kiểm tra sự hiện diện của giá trị của khóa trong cả hai từ điển và sau đó thêm chúng. Cuối cùng, chúng tôi hợp nhất hai từ điển bằng cách sử dụng | toán tử có sẵn cho từ điển.

Ví dụ

dictA = {'Mon': 23, 'Tue': 11, 'Sun': 6}
dictB = {'Wed': 10, 'Mon': 12, 'Sun': 4}

# Add with common key
for key in dictB:
   if key in dictA:
      dictB[key] = dictB[key] + dictA[key]
   else:
      pass
res = dictA | dictB
print(res)

Chạy đoạn mã trên cho chúng ta kết quả sau -

Đầu ra

{'Mon': 35, 'Tue': 11, 'Sun': 10, 'Wed': 10}

Sử dụng Bộ đếm

Chức năng Bộ đếm từ mô-đun Bộ sưu tập có thể được áp dụng trực tiếp để hợp nhất hai từ điển giữ các khóa. Và lần lượt thêm các giá trị tại các khóa phù hợp.

Ví dụ

from collections import Counter
dictA = {'Mon': 23, 'Tue': 11, 'Sun': 6}
dictB = {'Wed': 10, 'Mon': 12, 'Sun': 4}

res = Counter(dictA) + Counter(dictB)
print(res)

Chạy đoạn mã trên cho chúng ta kết quả sau -

Đầu ra

Counter({'Mon': 35, 'Tue': 11, 'Sun': 10, 'Wed': 10})