Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Container Datatypes


ในคอลเล็กชันมีประเภทข้อมูลคอนเทนเนอร์บางประเภท ซึ่งเป็นทางเลือกแทนคอนเทนเนอร์ในตัวสำหรับวัตถุประสงค์ทั่วไปของไพธอน เช่น 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'}]