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

     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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
การตัดรายการขายสินทรัพย์ที่มีค่าเสื่อม (Assets)
โดย Jiratchaya ส 23 ม.ค. 2021 11:02 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
8
ส 23 ม.ค. 2021 11:02 pm โดย Jiratchaya
วิธีการเขียน Essay อย่างไรให้ตอบโจทย์ผู้อ่าน
โดย Kannaphat ส 23 ม.ค. 2021 6:01 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
7
ส 23 ม.ค. 2021 6:01 pm โดย Kannaphat
python2.7 ติดปัญหา Non-ASCII character
โดย chakirin.bfds ส 23 ม.ค. 2021 12:59 pm บอร์ด Programming - C/C++ & java & Python
4
25
ส 23 ม.ค. 2021 2:40 pm โดย chakirin.bfds
ติดปัญหา find หา input ไม่เจอในไฟล์ javascript
โดย eange08 ศ 22 ม.ค. 2021 4:39 pm บอร์ด JavaScript & Jquery Ajax
1
47
ส 23 ม.ค. 2021 3:04 pm โดย eange08
โปรแกรม Kdenlive ตัดเสียงรบกวนอย่างไรคะ
โดย Kannaphat ศ 22 ม.ค. 2021 3:08 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
20
ศ 22 ม.ค. 2021 4:55 pm โดย Kannaphat
ขอวิธีดึงข้อมูลใน list มาแสดงเป็นข้อความทีละบรรทัด
โดย chakirin.bfds พฤ 21 ม.ค. 2021 6:38 pm บอร์ด Programming - C/C++ & java & Python
3
32
ส 23 ม.ค. 2021 1:31 pm โดย mindphp
อะไรบ้างที่คุณต้องรู้เกี่ยวกับการ ‘ซ่อมนาฬิกา’ !
โดย totheworld พฤ 21 ม.ค. 2021 3:05 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
11
พฤ 21 ม.ค. 2021 3:05 pm โดย totheworld
ขอวิธีบันทึกหน้าจอในนิมบัสโดยที่ไม่ติด URL และสามารถเปลี่ยน Tab ได้
โดย Kannaphat พฤ 21 ม.ค. 2021 1:55 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
5
36
ศ 22 ม.ค. 2021 3:07 pm โดย Kannaphat