ChainMap ใช้เพื่อสรุปพจนานุกรมเป็นหน่วยเดียว
ChainMapis เป็นคลาสไลบรารีมาตรฐาน ซึ่งอยู่ใน collections โมดูล
หากต้องการใช้งานในตอนแรก เราต้องนำเข้าโมดูลไลบรารีมาตรฐานของคอลเลกชัน
import collections
ในส่วนนี้ เราจะเห็นฟังก์ชันบางอย่างของคลาส ChainMap
ฟังก์ชันแผนที่และคีย์ () ค่า ()
แผนที่ใช้เพื่อแสดงคู่ค่าคีย์ทั้งหมดของพจนานุกรมทั้งหมดจาก ChainMap วิธี keys() จะคืนค่าคีย์จาก ChainMap และวิธี values() จะคืนค่าทั้งหมด () ของคีย์ที่ต่างกันจาก ChainMap
โค้ดตัวอย่าง
import collections as col con_code1 = {'India' : 'IN', 'China' : 'CN'} con_code2 = {'France' : 'FR', 'United Kingdom' : 'GB'} chain = col.ChainMap(con_code1, con_code2) print("Initial Chain: " + str(chain.maps)) print('The keys in the ChainMap: ' + str(list(chain.keys()))) print('The values in the ChainMap: ' + str(list(chain.values())))
ผลลัพธ์
Initial Chain: [{'India': 'IN', 'China': 'CN'}, {'France': 'FR', 'United Kingdom': 'GB'}] The keys in the ChainMap: ['China', 'United Kingdom', 'India', 'France'] The values in the ChainMap: ['CN', 'GB', 'IN', 'FR']
New_child() และวิธีย้อนกลับ
เมธอด new_child() ใช้สำหรับเพิ่มอ็อบเจ็กต์พจนานุกรมอื่นไปยัง ChainMap ในตอนเริ่มต้น และยังสามารถใช้วิธีการย้อนกลับกับ ChainMap เพื่อย้อนกลับลำดับของคู่คีย์-ค่าได้อีกด้วย
โค้ดตัวอย่าง
import collections as col con_code1 = {'India' : 'IN', 'China' : 'CN'} con_code2 = {'France' : 'FR', 'United Kingdom' : 'GB'} code = {'Japan' : 'JP'} chain = col.ChainMap(con_code1, con_code2) print("Initial Chain: " + str(chain.maps)) chain = chain.new_child(code) #Insert New Child print("Chain after Inserting new Child: " + str(chain.maps)) chain.maps = reversed(chain.maps) print("Reversed Chain: " + str(chain))
ผลลัพธ์
Initial Chain: [{'India': 'IN', 'China': 'CN'}, {'France': 'FR', 'United Kingdom': 'GB'}] Chain after Inserting new Child: [{'Japan': 'JP'}, {'India': 'IN', 'China': 'CN'}, {'France': 'FR', 'United Kingdom': 'GB'}] Reversed Chain: ChainMap({'France': 'FR', 'United Kingdom': 'GB'}, {'India': 'IN', 'China': 'CN'}, {'Japan': 'JP'})