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

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

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

รายการข้อมูลแบบ Set

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

แบบ set ใช้จัดเก็บรายการข้อมูลที่สามารถเปลี่ยนแปลงแก้ไขสมาชิกได้

แบบ frozenset ใช้จัดเก็บรายการข้อมูลที่ไม่สามารถเปลี่ยนแปลงแก้ไขสมาชิกได้

การสร้างเซต

     สมาชิกของเซตอาจเป็นข้อมูลต่างชนิดกันก็ได้ สำหรับการกำหนดสมาชิกให้แก่เซต ก็คือการใช้ {} หรือไม่ก็ใช้ฟังก์ชัน set() ซึ่งวิธีนี้อาจกำหนดสมาชิก ในรูปแบบของลิสต์หรือทูเพิลก็ได้ แต่จะต้องไม่ลืมข้อสำคัญ คือ สมาชิกของเซตจะซ้ำกันไม่ได้ ถ้าซ้ำกันข้อมูลจะถูกจัดเก็บเพียงแค่ตัวเดียว เช่น 

x = {1,1,2,2,3,3}
y = ('A','A','B','B','C','C')
z = set(y)

ผลลัพธ์

ผลลัพธ์การสร้างเซตโดยมีสมาชิกซ้ำกัน
ผลลัพธ์การสร้างเซต

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

 

     ในกรณีของ frozenset ให้กำหนดสมาชิกด้วยฟังก์ชัน frozenset()  และต้องระบุสมาชิกในรูปแบบของลิสต์ หรือ ทูเพิล เช่น

a = ('A','A','B','B','C','C')
b = frozenset(a)

x = [1,2,3]
y = frozenset(x)

ผลลัพธ์

ผลลัพธ์การใช้คำสั่ง frozenset
ผลลัพธ์การใช้ frozenset

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

 

 

 

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

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

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

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

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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อะไรบ้างที่คุณต้องรู้เกี่ยวกับการ ‘ซ่อมนาฬิกา’ !
โดย totheworld พฤ 21 ม.ค. 2021 3:05 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
1
พฤ 21 ม.ค. 2021 3:05 pm โดย totheworld
ขอวิธีบันทึกหน้าจอในนิมบัสโดยที่ไม่ติด URL และสามารถเปลี่ยน Tab ได้
โดย Kannaphat พฤ 21 ม.ค. 2021 1:55 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
6
พฤ 21 ม.ค. 2021 2:25 pm โดย Kannaphat
ของวิธีแก้การเขียน Python เเล้วติด UnicodeEncodeError
โดย chakirin.bfds พฤ 21 ม.ค. 2021 11:27 am บอร์ด Programming - C/C++ & java & Python
2
17
พฤ 21 ม.ค. 2021 11:43 am โดย chakirin.bfds
Apple A14 Bionic ที่สุดของ CPU iPhone 12 ดีจริงไหมไปหาคำตอบกัน
โดย Anonymous อ 19 ม.ค. 2021 11:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
19
พ 20 ม.ค. 2021 11:53 pm โดย DanielPe
ใช้ <i> ใส่ชื่อ icon ที่จะใช้แล้วไม่แสดงบนหน้าจอ
โดย eange08 อ 19 ม.ค. 2021 7:31 pm บอร์ด HTML CSS
1
13
อ 19 ม.ค. 2021 7:36 pm โดย eange08
สอบถามการดึงค่าใน array ที่ได้จาก api กรมอุตุ
โดย eange08 อ 19 ม.ค. 2021 4:43 pm บอร์ด Programming - PHP
2
28
อ 19 ม.ค. 2021 6:48 pm โดย eange08
เรียกค่า api ของกรมอุตุนิยมวิทยา
โดย eange08 อ 19 ม.ค. 2021 3:32 pm บอร์ด Programming - PHP
2
27
อ 19 ม.ค. 2021 3:54 pm โดย eange08
มาทำความรู้จักส่วนประกอบของเรียงความภาษาอังกฤษ
โดย Kannaphat อ 19 ม.ค. 2021 1:03 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
15
อ 19 ม.ค. 2021 1:03 pm โดย Kannaphat