ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

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

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

ฟังก์ชันและการปฏิบัติการต่างๆเกี่ยวกับเซต

     เซตที่ไม่ได้สร้างจากคำสั่ง frozenset() สามารถเปลี่ยนแปลงสมาชิกได้ โดยจะมีฟังก์ชันเฉพาะตัวที่เกี่ยวกับการเพิ่มหรือลบให้ใช้งานได้ในบางลักษณะ และไม่ต้องระบุตัวเลขลำดับ นอกจากนี้แล้วยังมีฟังก์ชันในกลุ่ม Operation สำหรับการกระทำต่างๆระหว่างเซต ดังนี้

add() เพิ่มสมาชิกใหม่ 
clear() ลบสมาชิกทั้งหมด
pop() อ่านค่าสมาชิกตัวแรก แล้วทำการลบออกจากเซต
remove() ลบสมาชิกที่ระบุออกจากลิสต์
set1.issubset(set2) ตรวจสอบว่า set1 เป็นซับเซตของ set2 หรือไม่
set1.issuperset(set2) ตรวจสอบว่า set1 เป็นซูเปอร์เซตของ set2 หรือไม่
set1.union(set2) เป็นการรวมสมาชิกจากทั้งสองเซตเข้าด้วยกัน
set1.intersection(set2)  คัดเอาเฉพาะสมาชิกที่มีซ้ำกันทั้งสองเซต
set1.difference(set2) คัดเอาเฉพาะสมาชิกที่มีใน set1 แต่ไม่มีใน set2

     สำหรับฟังก์ชัน add() , clear() , pop() , remove() ก็ใช้งานเหมือนกันกับลิสต์และทูเพิล โดยฟังก์ชัน add() นั้น สมาชิกที่เพิ่มเข้าไป อาจจะไม่ได้อยู่ในลำดับสุดท้าย ส่วนถ้าเราสร้างเซตด้วย frozenset() จะไม่มีทั้งฟังก์ชัน add() , clear() , pop() , remove() เพราะเซตดังกล่าว ไม่สามารถเปลี่ยนแปลงสมาชิกได้นั่นเอง

ตัวอย่างการใช้งาน

a = {10,20,30,40}
a.add(50)   #เพิ่มสมาชิก 50 เข้าไปหนึ่งตัว

if 30 in a:
    a.remove(30)  #ทำการลบสมาชิก 30 ออก

x = a.pop()  #อ่านค่าตัวเลขแล้วทำการลบออก

print(x)
print(a)

ผลลัพธ์

ผลลัพธ์จากการใช้งานฟังก์ชันต่างๆ ตามตาราง
ผลลัพธ์จากการใช้ฟังก์ชันต่างๆ

     จากผลลัพธ์ที่ออกมา เราทำได้การเพิ่มสมาชิกเข้าไปหนึ่งตัว นั่นก็คือ 50 จากนั้นทำการตรวจหาสมาชิกที่ชื่อ 30 จากนั้นให้ลบสมาชิกที่ชื่อ 30 ออก และทำการประกาศชื่อสมาชิกตัวแรกจากนั้นทำการลบออก ผลทีได้ก็คือ 40 จากนั้นทำการแสดงผลลัพธ์ทั้งหมด 

แนวทางการใช้ฟังก์ชันอื่นๆ

set.issubset()

a = {10,20,30,}
a1 = {10,20,30,40,50,60}

print(a.issubset(a1))

set.union()

a = {10,20,30,}
a1 = {10,20,30,40,50,60}

print(a.union(a1))

set.intersection()

a = {10,20,30,}
a1 = {10,20,30,40,50,60}

print(a.intersection(a1))

     ซึ่งวิธีการในการใช้งานนั้นก็จะเหมือนๆกัน เราสามารถใช้งานได้ในรูปแบบตามตัวอย่างที่แสดงให้ดูในข้างต้น ส่วนฟังก์ชันแต่ละฟังก์ชันแตกต่างกันอย่างไร ก็สามารถดูและเปรียบเทียบได้จากตารางที่พูดถึงในตอนแรกได้เลย เพียงเท่านี้เราก็สามารถใช้งานฟังก์ชันและปฏิบัติการต่างๆที่เกี่ยวกับข้อมูลเซตในภาษาไพทอนได้แล้ว นับว่าไม่ยากเลย

 

 

ช่องทางการศึกษาเพิ่มเติมเกี่ยวกับ : Python 

ชนิดของข้อมูลในไพทอน (Python)

ตัวแปรชนิดลิส ใน ไพทอน Python Lists Data type

ตัวแปรชนิดทูเปิล ใน ไพทอน Python Tuples Data type

ตัวแปรชนิดดิกชันนารี ใน ไพทอน Python Dictionary Data type

ฟังก์ชั่นสำหรับแปลงชนิดข้อมูล ใน ไพทอน Python Data Type Conversion

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
โปรแกรมทางการบัญชี โปรแกรม Express
โดย Duanghathai Termtem อ 01 ธ.ค. 2020 6:56 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
22
อ 01 ธ.ค. 2020 6:56 pm โดย Duanghathai Termtem
Flow Account คืออะไร
โดย Duanghathai Termtem อ 01 ธ.ค. 2020 5:06 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
21
อ 01 ธ.ค. 2020 5:06 pm โดย Duanghathai Termtem
การประยุกต์ใช้โปรแกรม ACL และ Microsoft Excel ช่วยในการตรวจสอบ
โดย Duanghathai Termtem อ 01 ธ.ค. 2020 3:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
32
อ 01 ธ.ค. 2020 3:20 pm โดย Duanghathai Termtem
แนวทางแก้ปัญหา php error Uncaught Error: Call to undefined function mysql_real_escape_string() in...
โดย mindphp อ 01 ธ.ค. 2020 2:13 am บอร์ด PHP Knowledge
0
20
อ 01 ธ.ค. 2020 2:13 am โดย mindphp
วิธีการเดินทางจากกระบี่มากรุงเทพมหานคร
โดย Duanghathai Termtem จ 30 พ.ย. 2020 3:46 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
21
จ 30 พ.ย. 2020 3:46 pm โดย Duanghathai Termtem
การใช้ Canva ช่วยการนำเสนอ
โดย Duanghathai Termtem จ 30 พ.ย. 2020 3:13 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
38
จ 30 พ.ย. 2020 3:13 pm โดย Duanghathai Termtem
ภาษี หัก ณ ที่จ่าย บน ERP
โดย milk2533 ส 28 พ.ย. 2020 4:17 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
24
ส 28 พ.ย. 2020 4:17 pm โดย milk2533
ประโยชน์ของการใช้ปุ่ม Sendmail บน ERP
โดย milk2533 ส 28 พ.ย. 2020 1:40 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
15
ส 28 พ.ย. 2020 1:40 pm โดย milk2533