การใช้ ทัพเพิล (Tuple), เซต (Set) และ ดิกชันนารี (Dictionary) ในภาษา Python

ห้องเรียนออนไลน์pythonการพัฒนาซอฟต์แวร์เชิงวัตถุ

การใช้ ทัพเพิล (Tuple), เซต (Set) และ ดิกชันนารี (Dictionary) ในภาษา Python

Chalothorn Kosakul    07 กรกฎาคม, 2568    78 views

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

ในบทความนี้ เราจะพาไปรู้จักกับโครงสร้างข้อมูลอีก 3 ประเภทที่สำคัญ ซึ่งมีลักษณะแตกต่างจากลิสต์ ได้แก่:

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


1. Tuple (ทัพเพิล)

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

my_tuple = (10, 20, 30)
print(my_tuple[1])  # ผลลัพธ์: 20

จุดเด่น:

  • ประมวลผลได้เร็วกว่า List เมื่อต้องการเก็บข้อมูลแบบคงที่
  • เหมาะสำหรับใช้เก็บค่าคงที่ที่ไม่ต้องการเปลี่ยนแปลง
  • นิยมใช้ในการ return ค่าหลายค่าออกจากฟังก์ชัน
def get_student_info():
    return ("ฉลองสิริ", 20, "IT")

name, age, major = get_student_info()

2. Set (เซต)

Set เป็นโครงสร้างข้อมูลที่ ไม่มีลำดับ และ ไม่มีข้อมูลซ้ำ เหมาะกับงานที่ต้องการคัดกรองหรือหาค่าที่ไม่ซ้ำกัน

my_set.add("Go")
print(my_set)  # {'Python', 'Java', 'C++', 'Go'}

จุดเด่น:

  • ลบข้อมูลซ้ำให้อัตโนมัติ
  • เหมาะสำหรับงานตรวจสอบความซ้ำ เช่น รายชื่อผู้เข้าอบรมที่ไม่ซ้ำกัน

การเพิ่มข้อมูล

my_set.add("Go")
print(my_set)  # {'Python', 'Java', 'C++', 'Go'}

การลบข้อมูล

my_set.discard("C++")  # ไม่มี error แม้ไม่มีข้อมูล
my_set.remove("Java")    # ลบ Java ออก ถ้าข้อมูลที่ลบไม่มี จะ error

การวนลูปแสดงผลข้อมูล

for lang in my_set:
    print(lang)

สามารถใช้ set ตรวจสอบความไม่ซ้ำ เช่น ตรวจสอบรายชื่อผู้สมัครที่ห้ามซ้ำ


3. Dictionary (ดิกชันนารี)

dict ใช้เก็บข้อมูลในรูปแบบคู่ คีย์ (key) และ ค่า (value) ซึ่งช่วยให้เข้าถึงข้อมูลได้ง่ายและชัดเจน

student = {
    "name": "ชญาน์ทิพย์",
    "age": 20,
    "major": "IT"
}
print(student["major"])  # ผลลัพธ์: IT

จุดเด่น:

  • เข้าถึงข้อมูลด้วย key แทนที่จะใช้ตำแหน่ง index

การเพิ่มข้อมูล

student["grade"] = "A"     # เพิ่มคีย์ใหม่

การแก้ไข/อัปเดตข้อมูล

student["age"] = 20        # แก้ไขค่าใน key 'age'

การลบข้อมูล

del student["major"]       # ลบ key 'major'
student.pop("grade")       # ลบ 'grade' และคืนค่าที่ถูกลบ

การวนลูปและแสดงผลข้อมูล

for key, value in student.items():
    print(f"{key}: {value}")

แสดงเฉพาะคีย์:

for key in student:
    print(key)

แสดงเฉพาะค่า:

for value in student.values():
    print(value)

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


แชร์ข่าวนี้