ในคอลเล็กชันมีประเภทข้อมูลคอนเทนเนอร์บางประเภท ซึ่งเป็นทางเลือกแทนคอนเทนเนอร์ในตัวสำหรับวัตถุประสงค์ทั่วไปของไพธอน เช่น dict, list, set เป็นต้น
ภาชนะบางส่วนคือ −
Sr.No. | คอนเทนเนอร์ &คำอธิบาย |
---|---|
1 | namedtuple() ใช้เพื่อสร้างคลาสย่อย tuple ด้วยชื่อ field |
2 | deque เข้าคิวโดยใช้ข้อมูลประเภทรายการ |
3 | ตัวนับ คลาสย่อยของ dict เพื่อนับวัตถุตารางแฮช |
4 | ChainMap ใช้เพื่อสร้างมุมมองเดียวของการแมปหลายรายการ |
5 | OrderedDict คลาสย่อยของ dict โดยที่ข้อมูลจะถูกเพิ่มในลักษณะที่เป็นระเบียบ |
6 | รายการผู้ใช้ Wrapper สำหรับรายการเพื่อให้เข้าถึงได้ง่ายขึ้น |
ในการใช้โมดูลนี้ เราควรนำเข้าโดยใช้ −
นำเข้าคอลเลกชัน
Deque Object
Deque นั้นเป็นลักษณะทั่วไปของโครงสร้างสแต็กและคิว โดยเริ่มต้นจากซ้ายไปขวา มันใช้วัตถุรายการเพื่อสร้าง deque
วิธีการบางอย่างที่เกี่ยวข้องกับ Deque คือ -
Sr.No. | วิธีการ &คำอธิบาย |
---|---|
1 | ผนวก(x) เพิ่มองค์ประกอบ x ที่ด้านขวาของ deque |
2 | appendleft(x) เพิ่มองค์ประกอบ x ที่ด้านซ้ายของ deque |
3 | clear() เคลียร์เดค |
4 | จำนวน(x) นับจำนวนครั้งของ x ใน deque |
5 | index(x[, start[,stop]]) กลับตำแหน่งของ x หากกำหนด start และ stop จะพบว่าอยู่ในช่วงนั้น |
6 | insert(i, x) ใส่ x ลงใน deque ที่ตำแหน่ง i |
7 | pop() ลบและส่งคืนองค์ประกอบจากด้านขวา |
8 | popleft() ลบและส่งคืนองค์ประกอบจากด้านซ้าย |
9 | reverse() ย้อนกลับเนื้อหาของ deque |
10 | rotate(n =1) หมุน deque n ครั้งไปทางขวา |
โค้ดตัวอย่าง
นำเข้าคอลเลกชันเป็น colmy_deque =col.deque('124dfre')print(my_deque)print("Popped Item:" + str(my_deque.pop()))print("Popped Item From Left:" + str(my_deque .popleft()))print(my_deque)
ผลลัพธ์
deque(['1', '2', '4', 'd', 'f', 'r', 'e'])แตกรายการ:ePopped รายการจากซ้าย:1deque(['2', '4', 'd', 'f', 'r'])
วัตถุตัวนับ
ตัวนับเป็นคลาสย่อยของอ็อบเจ็กต์ประเภท dict สามารถใช้นับค่าคีย์ได้ ตัวนับอนุญาตเฉพาะค่าจำนวนเต็ม
วิธีการที่เกี่ยวข้องกับตัวนับบางวิธีคือ -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | องค์ประกอบ() ส่งกลับองค์ประกอบที่มากที่สุดเท่าที่จะมีค่าตัวนับ |
2 | most_common([n]) วิธีนี้จะส่งคืนรายการองค์ประกอบ n ที่ใช้บ่อยที่สุดจากตัวนับ หากไม่ได้ระบุ n จะคืนค่าทั้งหมด |
3 | ลบ (ทำซ้ำหรือจับคู่) ลบค่าตัวนับออกจากวัตถุตัวนับสองตัว โดยที่คีย์จะถูกจับคู่ |
4 | อัปเดต (ทำซ้ำได้หรือจับคู่) จะเพิ่มค่าโดยไม่ต้องแทนที่ค่าโดยที่คีย์จะถูกจับคู่ |
โค้ดตัวอย่าง
นำเข้าคอลเลกชันเป็น coltext_list =['ABC','PQR','ABC','ABC','PQR','Mno','xyz','PQR','ABC','xyz']my_counter =col.Counter() สำหรับองค์ประกอบใน text_list:my_counter[element] +=1print(my_counter)print(my_counter.most_common(2))
ผลลัพธ์
ตัวนับ({'ABC':4, 'PQR':3, 'xyz':2, 'Mno':1})[('ABC', 4), ('PQR', 3)]ก่อน>ออบเจ็กต์ ChainMap
ChainMap ใช้เพื่อสรุปพจนานุกรมเป็นหน่วยเดียว
สมาชิก ChainMap บางส่วนคือ −
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | แผนที่ ใช้เพื่อส่งคืนคีย์ด้วยค่าที่เกี่ยวข้อง |
2 | new_child(m =ไม่มี) วิธีนี้ใช้เพื่อแทรกพจนานุกรมใหม่ที่ตำแหน่งแรกของห่วงโซ่ |
โค้ดตัวอย่าง
นำเข้าคอลเล็กชันเป็น colcon_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 Childprint("Final Chain:" + str(chain.maps))
ผลลัพธ์
เริ่มต้นเชน:[{'India':'IN', 'China':'CN'}, {'France':'FR', 'United Kingdom':'GB'}]Final Chain:[{' ญี่ปุ่น':'JP'}, {'อินเดีย':'IN', 'จีน':'CN'}, {'ฝรั่งเศส':'FR', 'สหราชอาณาจักร':'GB'}]