Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - รวมสองพจนานุกรมเพิ่มค่าสำหรับคีย์ทั่วไป


เมื่อวิเคราะห์ข้อมูลด้วย python เราเจอสถานการณ์เมื่อเราต้องรวมพจนานุกรมสองพจนานุกรมในลักษณะที่เราเพิ่มค่าขององค์ประกอบเหล่านั้นซึ่งคีย์มีค่าเท่ากัน ในบทความนี้ เราจะเห็นพจนานุกรมสองเล่มนี้เพิ่มเข้ามา

ด้วย For loop และ | โอเปอเรเตอร์

ในแนวทางนี้ เราออกแบบ for loop เพื่อตรวจสอบการมีอยู่ของค่าของคีย์ในพจนานุกรมทั้งสอง แล้วเพิ่มเข้าไป ในที่สุดเราก็รวมพจนานุกรมสองเล่มเข้าด้วยกันโดยใช้ | มีตัวดำเนินการสำหรับพจนานุกรม

ตัวอย่าง

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)

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

ผลลัพธ์

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

การใช้ตัวนับ

สามารถใช้ฟังก์ชัน Counter จากโมดูล Collections ได้โดยตรงเพื่อรวมพจนานุกรม 2 ฉบับที่เก็บรักษาคีย์ไว้ และในทางกลับกันก็เพิ่มค่าที่คีย์ที่ตรงกัน

ตัวอย่าง

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)

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

ผลลัพธ์

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