Skip to content
Siamcoder

Python tuple

python1 min read

Pair of apple

ทูเพิล (Tuple) เป็นโครงสร้างข้อมูลที่ใช้ในภาษา Python เพื่อเก็บค่าหลาย ๆ ค่าที่ไม่สามารถเปลี่ยนแปลงได้ (immutable) ซึ่งหมายความว่าค่าในทูเพิลไม่สามารถเพิ่ม, ลบ, หรือแก้ไขได้หลังจากที่ถูกสร้างขึ้น

การสร้างทูเพิลใน Python สามารถทำได้โดยใช้วงเล็บ () หรือฟังก์ชัน tuple() ดังตัวอย่าง:

fruits = ("apple", "banana", "cherry")

ในตัวอย่างนี้เราสร้างทูเพิล fruits ที่เก็บค่าสตริง "apple", "banana", และ "cherry"

ทูเพิลใช้ในกรณีที่ต้องการเก็บค่าที่ไม่สามารถเปลี่ยนแปลงได้ เช่น ข้อมูลที่เป็นค่าคงที่ที่ไม่ต้องการให้มีการเปลี่ยนแปลง หรือเก็บข้อมูลหลายค่าที่เกี่ยวข้องกันเป็นชุด

เราสามารถเข้าถึงค่าในทูเพิลได้โดยใช้ดัชนี (index) เหมือนกับการเข้าถึงสมาชิกในลิสต์ ดังตัวอย่าง:

fruits = ("apple", "banana", "cherry")
# เข้าถึงสมาชิกในทูเพิลด้วยดัชนี
print(fruits[0]) # ผลลัพธ์ที่คืนค่าคือ "apple"
print(fruits[1]) # ผลลัพธ์ที่คืนค่าคือ "banana"
print(fruits[2]) # ผลลัพธ์ที่คืนค่าคือ "cherry"
# ไม่สามารถเปลี่ยนแปลงค่าในทูเพิลได้
fruits[0] = "orange" # จะเกิดข้อผิดพลาด (TypeError)

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

ทูเพิลใน Python มีความสามารถที่น่าสนใจอีกอย่างคือการแพ็คและแอนแพ็ค (packing and unpacking) คือการกำหนดค่าให้กับทูเพิลหลาย ๆ ตัวแปรในคราวเดียว หรือกำหนดค่าให้กับตัวแปรหลาย ๆ ตัวจากทูเพิล ดังตัวอย่าง:

# แพ็คและแอนแพ็คทูเพิล
fruits = ("apple", "banana", "cherry")
(a, b, c) = fruits # แพ็คค่าจาก fruits ให้กับตัวแปร a, b, c
print(a) # ผลลัพธ์ที่คืนค่าคือ "apple"
print(b) # ผลลัพธ์ที่คืนค่าคือ "banana"
print(c) # ผลลัพธ์ที่คืนค่าคือ "cherry"
# แลกค่าระหว่างตัวแปรด้วยการแอนแพ็คทูเพิล
x = 10
y = 20
(x, y) = (y, x) # แลกค่าระหว่าง x และ y โดยใช้แอนแพ็คทูเพิล
print(x) # ผลลัพธ์ที่คืนค่าคือ 20
print(y) # ผลลัพธ์ที่คืนค่าคือ 10

ในตัวอย่างนี้เราใช้การแพ็คและแอนแพ็คทูเพิลเพื่อกำหนดค่าให้กับตัวแปรหลาย ๆ ตัวแปรในคราวเดียว และแลกค่าระหว่างตัวแปรด้วยแอนแพ็คทูเพิล

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