ใช้ Set (เซต) ซึ่งเป็นคอลเลกชัน unique, unordered, immutable รองรับ set operations ตามทฤษฎีเซต
Symmetric Difference (ความแตกต่างแบบสมมาตร)
คืนสมาชิกที่อยู่ใน เซตใดเซตหนึ่ง แต่ไม่ใช่ทั้งสอง (XOR) ใช้ตัวดำเนินการ ^
ตัวอย่าง
>> D1 = {1: 100, 2: 200, 3: 300}
>>> D2 = {1: 1000, 3: 300, 5: 500}
>>> set(D1.keys()) ^ set(D2.keys())
{2, 5}
คำอธิบาย
- Keys ของ D1: {1, 2, 3}
- Keys ของ D2: {1, 3, 5}
- Symmetric difference: {2, 5} (อยู่ใน D1 หรือ D2 แต่ไม่ใช่ทั้งคู่)
Set Operations อื่นๆ ที่มีประโยชน์
| Operation | Operator | Method | ความหมาย |
|---|---|---|---|
| Union | | | รวมทั้งสอง (OR) | |
| Intersection | & | เฉพาะที่มีในทั้งสอง (AND) | |
| Difference | - | อยู่ในซ้ายแต่ไม่อยู่ขวา | |
| Symmetric Diff | ^ | อยู่ในข้างใดข้างหนึ่งไม่ใช่ทั้งสอง (XOR) |
ตัวอย่างเพิ่มเติม
>> # Keys ที่มีใน D1 แต่ไม่มีใน D2
>>> set(D1.keys()) - set(D2.keys())
{2}
>>> # Keys ที่มีในทั้งสอง
>>> set(D1.keys()) & set(D2.keys())
{1, 3}