เมธอด keys(), values(), items() ของ Dictionary คืนค่า View Objects ไม่ใช่ลิสต์ View objects เป็น dynamic view ที่สะท้อนการเปลี่ยนแปลงของ dictionary ต้นทางทันที
ประเภท View Objects
| เมธอด | View Type | เนื้อหา |
|---|---|---|
keys() | dict_keys | Key ทั้งหมด |
values() | dict_values | Value ทั้งหมด |
items() | dict_items | Tuple (key, value) ทั้งหมด |
ตัวอย่าง
>> D1 = {"pen": 25, "pencil": 10, "book": 100, "sharpner": 5, "eraser": 5}
>>> k = D1.keys()
>>> v = D1.values()
>>> i = D1.items()
>>> k, v, i
dict_keys(['pen', 'pencil', 'book', 'sharpner', 'eraser'])
dict_values([25, 10, 100, 5, 5])
dict_items([('pen', 25), ('pencil', 10), ('book', 100), ('sharpner', 5), ('eraser', 5)])
Dynamic View: สะท้อนการเปลี่ยนแปลงทันที
>> del D1['book']
>>> k
dict_keys(['pen', 'pencil', 'sharpner', 'eraser'])
>>> i
dict_items([('pen', 25), ('pencil', 10), ('sharpner', 5), ('eraser', 5)])
>>> v
dict_values([25, 10, 5, 5])
View อัปเดตอัตโนมัติเมื่อ Dictionary ต้นทางเปลี่ยนแปลง
แปลงเป็น List (ถ้าต้องการ snapshot)
>> list(D1.keys()) ['pen', 'pencil', 'sharpner', 'eraser']