เมื่อวิเคราะห์ข้อมูลด้วย 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})