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

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

การเข้าถึงและการจัดการเซต

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

a = {'A','A','B','B','C','C'}

for x in a:
    print(x)

ผลลัพธ์

ผลลัพธ์การใช้ลูป ในการเข้าถึงข้อมูลเซต
ผลลัพธ์การใช้ลูป

     นอกจากนี้โอเปอเรเตอร์ต่างๆที่เราเคยใช้ร่วมกับลิสต์หรือทูเพิล สามารถนำมาใช้กับเซตได้เพียงบางอันเท่านั้นคือ in, not in, == และ != ส่วนโอเปอเรเตอร์อื่นๆ เช่น + , += ไม่สามารถนำมาใช้ได้ ตัวอย่างเช่น 

a = {'A','A','B','B','C','C'}
b = {1,2,3}
c = a+b
print(c)  

ผลลัพธ์

ผลลัพธ์การใช้งานตัวโอเปอเรเตอร์ที่ใช้ไม่ได้
ผลลัพธ์โอเปอเรเตอร์ที่ใช้ไม่ได้

ตัวอย่างที่ใช้ได้

a = {'A','A','B','B','C','C'}
b = {1,2,3}

if 'A' in a:
    print(True)
if '4' not in b:
    print(False)

ผลลัพธ์

ผลลัพธ์การใช้งานตัวโอเปอเรเตอร์ที่ใช้ได้
ผลลัพธ์โอเปอเรเตอร์ที่ใช้ได้

     ส่วนฟังก์ชันแบบ Built-in ที่สามารถนำมาใช้ร่วมกับเซตได้ ได้แก่ len() , sum() , nim() , max() แต่ไม่สามารถใช้คำสั่ง del เพื่อลบสมาชิกตัวใดตัวหนึ่งได้ เนื่องจากมีลำดับที่ไม่แน่นอน

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

 

 

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

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

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

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

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

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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
CPU ที่สามารถใช้ได้กับเมนบอร์ดซ็อกเก็ต FCLGA1155 บนเครื่อง Dell Server R210 II
โดย mindphp อ 26 มี.ค. 2024 1:45 am บอร์ด Microsoft Office Knowledge & line & Etc
1
40
อ 26 มี.ค. 2024 1:49 am โดย mindphp View Topic CPU ที่สามารถใช้ได้กับเมนบอร์ดซ็อกเก็ต FCLGA1155 บนเครื่อง Dell Server R210 II
อัพเดท joomla 3.10.12 to 4 ไม่ได้ครับ ติด Invalid login
โดย Itadm จ 25 มี.ค. 2024 3:35 pm บอร์ด Joomla Development
3
241
พฤ 28 มี.ค. 2024 2:44 pm โดย mindphp View Topic อัพเดท joomla 3.10.12 to 4 ไม่ได้ครับ ติด Invalid login
แนะนำการเดินทาง และสถานที่ท่องเที่ยวในจังหวัดขอนแก่น
โดย athirach.offcial จ 25 มี.ค. 2024 3:08 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
59
จ 25 มี.ค. 2024 3:08 pm โดย athirach.offcial View Topic แนะนำการเดินทาง และสถานที่ท่องเที่ยวในจังหวัดขอนแก่น
สอบถาม library หรือคำสั่งดู VDO ใช้เวลาดูไปเท่าไรและดูจบแล้วหรือไม่
โดย eange08 จ 25 มี.ค. 2024 1:28 pm บอร์ด Programming - PHP
2
99
พฤ 28 มี.ค. 2024 12:25 pm โดย eange08 View Topic สอบถาม library หรือคำสั่งดู VDO ใช้เวลาดูไปเท่าไรและดูจบแล้วหรือไม่
M181 - อธิราช กุลเมือง
โดย athirach.offcial จ 25 มี.ค. 2024 10:15 am บอร์ด Dev Teams
0
8
จ 25 มี.ค. 2024 10:15 am โดย athirach.offcial View Topic M181 - อธิราช กุลเมือง
การสำรองข้อมูล Backup Joomla! ทั้งเว็บ ด้วย MJClone
โดย mindphp อ 24 มี.ค. 2024 1:33 am บอร์ด MindPHP News & Feedback
0
85
อ 24 มี.ค. 2024 1:33 am โดย mindphp View Topic การสำรองข้อมูล Backup Joomla! ทั้งเว็บ ด้วย MJClone
Start Directadmin แบบเมนนวล
โดย mindphp ศ 22 มี.ค. 2024 5:35 am บอร์ด Linux - Web Server
1
103
ศ 22 มี.ค. 2024 5:43 am โดย mindphp View Topic Start Directadmin แบบเมนนวล
คำสั่ง Command Line สำรองเว็บไซต์ บน Directadmin Backup Website ขนาดใหญ่
โดย mindphp ศ 22 มี.ค. 2024 5:31 am บอร์ด Linux - Web Server
1
152
ศ 22 มี.ค. 2024 11:52 pm โดย mindphp View Topic คำสั่ง Command Line สำรองเว็บไซต์ บน Directadmin Backup Website ขนาดใหญ่