Dictionary สองตัวใน Python อาจมีคีย์ร่วมกันบางส่วน บทความนี้จะสาธิตวิธีการหาความแตกต่างของคีย์ที่มีอยู่ใน Dictionary สองตัวที่กำหนด
ใช้ชุดข้อมูล (Set)
เราสามารถนำ Dictionary ทั้งสองมาสร้างเป็นเซต (set) จากนั้นใช้การลบเซตเพื่อหาความแตกต่าง โดยทำทั้งสองทิศทาง คือ ลบ Dictionary ที่สองออกจากตัวแรก และลบ Dictionary ที่หนึ่งออกจากตัวที่สอง คีย์ที่ไม่ซ้ำกันจะแสดงในเซตผลลัพธ์
ตัวอย่าง
dictA = {'1': 'Mon', '2': 'Tue', '3': 'Wed'}
print("Dictionary แรก:\n", dictA)
dictB = {'3': 'Wed', '4': 'Thu', '5': 'Fri'}
print("Dictionary ที่สอง:\n", dictB)
res1 = set(dictA) - set(dictB)
res2 = set(dictB) - set(dictA)
print("\nความแตกต่างของคีย์ระหว่าง Dictionary ทั้งสอง:")
print(res1, res2)
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลดังนี้ −
Dictionary แรก: {'1': 'Mon', '2': 'Tue', '3': 'Wed'}
Dictionary ที่สอง: {'3': 'Wed', '4': 'Thu', '5': 'Fri'}
ความแตกต่างของคีย์ระหว่าง Dictionary ทั้งสอง: {'2', '1'} {'4', '5'}
ใช้คำสั่ง in กับลูป for
วิธีอื่นคือใช้ลูป for วนลูปผ่านคีย์ของ Dictionary หนึ่ง และตรวจสอบความมีอยู่ด้วยคำสั่ง in ใน Dictionary อีกตัวหนึ่ง
ตัวอย่าง
dictA = {'1': 'Mon', '2': 'Tue', '3': 'Wed'}
print("Dictionary แรก:\n", dictA)
dictB = {'3': 'Wed', '4': 'Thu', '5': 'Fri'}
print("Dictionary ที่สอง:\n", dictB)
print("\nคีย์ที่อยู่ใน Dictionary แรกแต่ไม่อยู่ใน Dictionary ที่สอง:")
for key in dictA.keys():
if key not in dictB:
print(key)
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลดังนี้ −
Dictionary แรก: {'1': 'Mon', '2': 'Tue', '3': 'Wed'}
Dictionary ที่สอง: {'3': 'Wed', '4': 'Thu', '5': 'Fri'}
คีย์ที่อยู่ใน Dictionary แรกแต่ไม่อยู่ใน Dictionary ที่สอง: 1 2