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

ชุด Python:A Guide

บ่อยครั้งเมื่อคุณทำงานกับข้อมูล คุณจะต้องการจัดเก็บรายการข้อมูลที่ไม่สามารถมีค่าที่ซ้ำกันได้ และค่าที่ไม่สามารถเปลี่ยนแปลงค่าได้ ตัวอย่างเช่น หากคุณกำลังสร้างรายการรหัสการซื้อที่ร้านขายของชำ คุณต้องการให้แต่ละรหัสไม่ซ้ำกัน และคุณไม่ต้องการให้ใครเปลี่ยนค่าในรายการของคุณได้

นั่นคือที่มาของชุดวัตถุ Python ชุดคือชุดของรายการที่ไม่เรียงลำดับซึ่งสามารถมีค่าที่ไม่ซ้ำกันเท่านั้น

บทช่วยสอนนี้จะกล่าวถึง โดยอ้างอิงกับตัวอย่าง พื้นฐานของชุด Python และวิธีที่คุณสามารถดำเนินการทั่วไป เช่น การเพิ่มและลบค่าในชุด

ชุดหลาม

โครงสร้างข้อมูลชุดในตัวของ Python นั้นคล้ายคลึงกับแนวคิดของชุดข้อมูลในวิชาคณิตศาสตร์

ชุด Python สามารถมีองค์ประกอบตั้งแต่ศูนย์ขึ้นไป และไม่มีลำดับที่กำหนดไว้สำหรับแต่ละองค์ประกอบในชุด ทุกองค์ประกอบที่จัดเก็บไว้ในชุดนั้นไม่ซ้ำกัน ดังนั้นจึงไม่สามารถมีรายการซ้ำกันได้ และค่าแต่ละค่าในชุดจะไม่สามารถเปลี่ยนแปลงได้

แม้ว่าค่าแต่ละค่าในชุดจะไม่สามารถเปลี่ยนแปลงได้ แต่ตัวชุดเองก็สามารถเปลี่ยนแปลงได้ ซึ่งหมายความว่าเราสามารถเพิ่มหรือลบรายการออกจากชุดของเราได้

โครงสร้างชุดมีประโยชน์เพราะมันมาพร้อมกับการดำเนินการทางคณิตศาสตร์จำนวนหนึ่งที่เราสามารถใช้ในการทำงานกับข้อมูลที่เราจัดเก็บไว้ในชุด

สร้างชุด Python

ใน Python ชุดถูกกำหนดให้เป็นรายการของไอเท็ม (หรือ “องค์ประกอบ”) ที่คั่นด้วยเครื่องหมายจุลภาค รายชื่ออยู่ในวงเล็บปีกกา ({})

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

ชุด Python สามารถจัดเก็บรายการได้จำนวนเท่าใดก็ได้ และแต่ละรายการภายในชุดสามารถใช้ประเภทข้อมูลที่แตกต่างกันได้ ดังนั้น ชุดสามารถเก็บทั้งจำนวนเต็มหรือสตริง หรือสตริง ทุ่น และทูเพิล อย่างไรก็ตาม ชุดไม่สามารถจัดเก็บชนิดข้อมูลที่เปลี่ยนแปลงได้ เช่น ชุดอื่น พจนานุกรม หรือรายการ

สมมติว่าเราต้องการสร้างชุดที่เก็บรายการการบ้านที่นักเรียนส่งในชั้นเรียนภาษาอังกฤษ เราสามารถสร้างชุดนี้โดยใช้รหัสต่อไปนี้:

assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7", "End of Topic Review #2"}
print(assignments)

รหัสของเราส่งคืน:

{'เวิร์กชีต #5', 'เวิร์กชีต #4', 'เวิร์กชีต #7', 'สิ้นสุดการตรวจสอบหัวข้อ #2'}

ในโค้ดของเรา เราได้กำหนดชุดที่เรียกว่า assignments ซึ่งมีสี่ค่า จากนั้น เราพิมพ์เนื้อหาของงานที่มอบหมายไปยังคอนโซล คุณจะเห็นว่าค่าของเราถูกส่งคืนในลำดับแบบสุ่ม เนื่องจากชุดไม่ได้จัดเก็บรายการในลำดับใดๆ

เปลี่ยนชุด

เมื่อคุณสร้างชุดแล้ว คุณจะไม่สามารถเปลี่ยนค่าของรายการในชุดได้ อย่างไรก็ตาม คุณสามารถเพิ่มรายการและลบรายการออกจากชุดได้

เพิ่มรายการในชุด

หากต้องการเพิ่มองค์ประกอบในชุด Python คุณสามารถใช้ add() กระบวนการ. สมมติว่านักเรียนเพิ่งส่ง Worksheet #8 และเราต้องการอัปเดตชุดของเราเพื่อติดตามการมอบหมายงานของนักเรียน เราสามารถทำได้โดยใช้รหัสนี้:

assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7", "End of Topic Review #2"}

assignments.add("Worksheet #8")
print(assignments)

รหัสของเราส่งคืน:

{'Worksheet #8', 'Worksheet #4', 'Worksheet #5', 'End of Topic Review #2', 'Worksheet #7'}

อย่างที่คุณเห็น Worksheet #8 ได้ถูกเพิ่มเข้าไปในชุดของเราแล้ว

นอกจากนี้ หากคุณต้องการเพิ่มหลายรายการในชุด คุณสามารถใช้ update() กระบวนการ. update() method ยอมรับรายการที่คุณต้องการเพิ่มไปยังชุดเป็นพารามิเตอร์ จากนั้นจึงเพิ่มรายการเหล่านั้นไปยังชุด

สมมติว่านักเรียนส่งใบงานทั้ง #8 และ #9 แล้ว เราสามารถเปลี่ยนชุดของเราเพื่อแสดงการมอบหมายใหม่เหล่านี้ที่ส่งโดยใช้รหัสนี้:

assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7", "End of Topic Review #2"}

assignments.update(["Worksheet #8", "Worksheet #9"])
print(assignments)

รหัสของเราส่งคืน:

{'Worksheet #9', 'End of Topic Review #2', 'Worksheet #8', 'Worksheet #7', 'Worksheet #4', 'Worksheet #5'}

ตอนนี้ชุดของเราประกอบด้วยค่าใหม่สองค่า:Worksheet #8 และ Worksheet #9 .

ลบองค์ประกอบออกจากชุด

หากต้องการลบองค์ประกอบออกจากชุด คุณสามารถใช้ discard() หรือ remove() .

discard() ฟังก์ชันลบรายการออกจากชุดและไม่ส่งคืนหากไม่มีรายการในชุด remove() ฟังก์ชันจะพยายามลบรายการออกจากชุด และหากไม่มีรายการนั้น จะเกิดข้อผิดพลาดขึ้น

สมมติว่าเราต้องการลบ Worksheet #9 จากบันทึกการบ้านของนักเรียนเพราะถูกขอให้ทำการบ้านใหม่ เราสามารถทำได้โดยใช้รหัสนี้:

assignments = {'Worksheet #9', 'End of Topic Review #2', 'Worksheet #8', 'Worksheet #7', 'Worksheet #4', 'Worksheet #5'}

assignments.discard("Worksheet #9")
print(assignments)

รหัสของเราส่งคืน:

{'End of Topic Review #2', 'Worksheet #5', 'Worksheet #4', 'Worksheet #8', 'Worksheet #7'}

จะเห็นว่าค่า Worksheet #9 ถูกลบออกจากชุดของเรา เราทำได้โดยใช้ discard() กระบวนการ.

ล้างชุด

หากต้องการล้างชุด คุณสามารถใช้ clear() กระบวนการ. สมมติว่าเราต้องการลบบันทึกการมอบหมายงานของนักเรียนเนื่องจากเป็นช่วงสิ้นปีและเราไม่จำเป็นต้องจัดเก็บข้อมูลอีกต่อไป เราสามารถทำได้โดยใช้รหัสนี้:

assignments = {'Worksheet #9', 'End of Topic Review #2', 'Worksheet #8', 'Worksheet #7', 'Worksheet #4', 'Worksheet #5'}

assignments.clear()
print(assignments)

รหัสของเราส่งคืน:{} นี่สะท้อนถึงเซตว่างของเรา

ระยะเวลาคืนชุด

หากต้องการทราบจำนวนรายการที่เก็บไว้ในชุด คุณสามารถใช้ len() กระบวนการ.

สมมติว่าเราต้องการหาจำนวนการบ้านที่นักเรียนส่งไป เราสามารถทำได้โดยใช้รหัสนี้:

assignments = {'Worksheet #9', 'End of Topic Review #2', 'Worksheet #8', 'Worksheet #7', 'Worksheet #4', 'Worksheet #5'}
print(len(assignments))

โค้ดของเราส่งคืน:6. ในโค้ดของเรา ขั้นแรกเราจะประกาศชุดที่เรียกว่า assignments . จากนั้น เราใช้ len() วิธีหาจำนวนรายการที่เก็บอยู่ใน assignments ชุด.

การทำงานของชุด Python

ข้อดีอย่างหนึ่งของการใช้ชุดเพื่อจัดเก็บข้อมูลคือชุดนั้นรองรับการทำงานของชุดทางคณิตศาสตร์ มาดูกันว่าการทำงานของชุดหลักสามชุดทำงานอย่างไร

การดำเนินการตั้งค่าเหล่านี้ ไม่เปลี่ยนแปลง เนื้อหาของชุด แต่จะทำการคำนวณในชุดที่มีอยู่

ตั้งยูเนี่ยน

union() วิธีช่วยให้เราสามารถสร้างชุดขององค์ประกอบทั้งหมดจากสองชุด

สมมติว่าเรามีงานมอบหมายของนักเรียนสองคนที่เราต้องการรวมเข้าด้วยกัน รายการหนึ่งประกอบด้วยข้อมูลการบ้านของนักเรียน และอีกรายการมีรายการงานเรียงความที่นักเรียนทำเสร็จแล้ว เราสามารถรวมรายการเหล่านี้โดยใช้รหัสนี้:

assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7"}
essays = {"Essay #1", "Essay #2"}

homework = assignments.union(essays)
print(homework)

รหัสของเราส่งคืน:

{'แผ่นงาน #7', 'เรียงความ #2', 'แผ่นงาน #4', 'เรียงความ #1', 'แผ่นงาน #5'}

ในโค้ดของเรา เราใช้ union() วิธีการรวมสองชุดของเราเข้าด้วยกัน เรากำหนดค่าของชุดที่ผสานใหม่ให้กับตัวแปร homework . จากนั้นเราก็พิมพ์ค่าของ homework ตัวแปร.

หรือเราอาจใช้รหัสต่อไปนี้:

assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7"}
essays = {"Essay #1", "Essay #2"}

print(assignments | essays)

“|” ตัวดำเนินการดำเนินการชุดยูเนี่ยน รหัสของเราส่งคืนชุดที่ผสาน:

{'เรียงความ #2', 'แผ่นงาน #4', 'แผ่นงาน #5', 'เรียงความ #1', 'แผ่นงาน #7'}

กำหนดสี่แยก

intersection() วิธีช่วยให้คุณสร้างรายการองค์ประกอบที่เหมือนกันระหว่างสองชุด

สมมติว่าเรามีรายชื่อเรียงความที่นักเรียนส่งมา และรายชื่อเรียงความที่ออกแล้ว หากเราต้องการทราบว่าบทความใดที่นักเรียนยังไม่ได้ส่ง เราสามารถใช้วิธีทางแยกได้

นี่คือรหัสที่เราจะใช้:

essays_handed_in = {"Essay #1", "Essay #2"}
essays_issued = {"Essay #1", "Essay #2", "Essay #3"}

due = essays_handed_in.intersection(essays_issued)
print(due)

รหัสของเราส่งคืน:

{'เรียงความ #1', 'เรียงความ #2'}

ในตัวอย่างนี้ เราใช้ intersection() วิธีการหาองค์ประกอบทั้งหมดที่มีอยู่ในทั้ง essays_handed_in และ essays_issued ชุด เรากำหนดผลลัพธ์ของการดำเนินการทางแยกให้กับตัวแปร due ซึ่งเราจะพิมพ์ไปที่คอนโซล

นอกจากนี้เรายังสามารถใช้ & ตัวดำเนินการเพื่อดำเนินการชุดปฏิบัติการทางแยก ดังนั้น ถ้าเราต้องการทำการแยกบนสองชุดของเราจากก่อนหน้านี้ เราสามารถใช้รหัสนี้:

essays_handed_in = {"Essay #1", "Essay #2"}
essays_issued = {"Essay #1", "Essay #2", "Essay #3"}

print(essays_handed_in & essays_issued)

รหัสของเราส่งคืน:

{'เรียงความ #1', 'เรียงความ #2'}

กำหนดส่วนต่าง

difference() วิธีช่วยให้คุณค้นหาองค์ประกอบที่มีอยู่ในชุดหนึ่งที่ไม่มีอยู่ในชุดอื่น

สมมติว่าเราต้องการสร้างรายการเรียงความทั้งหมดที่นักเรียนส่งมาและยังไม่ได้ให้คะแนน เราสามารถทำได้โดยใช้รหัสนี้:

essays_handed_in = {"Essay #1", "Essay #2"}
essays_graded = {"Essay #1"}

final = essays_handed_in.difference(essays_graded)
print(final)

รหัสของเราส่งคืน:

{"เรียงความ #2"}

ในโค้ดนี้ เราใช้ difference() วิธีการหาความแตกต่างระหว่าง essays_handed_in และ essays_graded ชุด หรือเราอาจใช้ - โอเปอเรเตอร์เช่น:

essays_handed_in = {"Essay #1", "Essay #2"}
essays_graded = {"Essay #1"}
print(essays_handed_in - essays_graded)

รหัสของเราส่งคืน:

{"เรียงความ #2"}

ผลลัพธ์เดียวกันจะถูกส่งคืนในรหัสของเรา แต่แทนที่จะใช้ difference() set method เราใช้ - โอเปอเรเตอร์ซึ่งทำการตรวจสอบเพื่อหาความแตกต่างระหว่างสองชุด

บทสรุป

โครงสร้างข้อมูลชุด Python ช่วยให้คุณสามารถจัดเก็บคอลเลกชันของรายการที่ไม่เรียงลำดับได้

แต่ละรายการในชุดต้องไม่ซ้ำกัน ดังนั้นจึงไม่มีรายการที่ซ้ำกัน และเนื้อหาของชุดจะไม่สามารถเปลี่ยนแปลงได้เมื่อเพิ่มเข้าไปในชุดแล้ว

บทช่วยสอนนี้กล่าวถึงโดยอ้างอิงถึงตัวอย่าง พื้นฐานของชุด Python และการดำเนินการหลักที่นำเสนอโดยชุด

เราแค่ขีดข่วนพื้นผิวของสิ่งที่คุณทำได้กับฉากเท่านั้น—ยังมีอีกมากให้คุณสำรวจ—แต่เราได้ครอบคลุมทักษะหลักที่คุณจำเป็นต้องรู้เพื่อทำงานกับฉากอย่างมีประสิทธิภาพ ตอนนี้คุณพร้อมที่จะเริ่มใช้ Python set() วิธีการอย่างมืออาชีพ!


Python ใช้ในสภาพแวดล้อมการพัฒนาระดับมืออาชีพทั่วโลกสำหรับทุกอย่างตั้งแต่การวิเคราะห์ข้อมูลไปจนถึงการพัฒนาเว็บ ดาวน์โหลด แอป Career Karma ฟรี วันนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับเส้นทางอาชีพในการเขียนโปรแกรม Python