ข้อมูลประเภท Tuples ในภาษา Python

Tuples เป็นประเภทของข้อมูลในภาษา Python ที่เก็บข้อมูลหลายตัวเหมือนกับ List แต่ไม่สามารถเปลี่ยนแปลงข้อมูลภายในได้หลังจากที่ถูกสร้างขึ้น นั่นคือ Tuples เป็น immutable objects ใน Python ซึ่งหมายความว่าเมื่อสร้าง Tuple ขึ้นมาแล้ว จะไม่สามารถเปลี่ยนแปลงค่าของ Tuple ได้

Tuples สามารถเข้าถึงข้อมูลด้วยวิธีเดียวกับ List ดังนั้น การเข้าถึงและการวนซ้ำ (iteration) ก็คล้ายกัน แต่ไม่สามารถเปลี่ยนข้อมูลภายใน Tuple ได้หลังจากสร้างขึ้นแล้ว

การสร้าง Tuple ใน Python สามารถทำได้โดยใช้วงเล็บ () และคั่นข้อมูลด้วยเครื่องหมายจุลภาค (,) ดังตัวอย่างนี้

my_tuple = (1, 2, 3, "four", 5.0)

หรือไม่ต้องใช้วงเล็บก็ได้ ดังนี้

my_tuple = 1, 2, 3, "four", 5.0

การเข้าถึงข้อมูล (Access)

การเข้าถึงข้อมูล (Access) ประเภทข้อมูล Tuples ในภาษา Python สามารถทำได้โดยใช้ตัวดัชนี (Index) เหมือนกับ List โดยใช้วิธีเดียวกัน

ตัวอย่างการเข้าถึงข้อมูลใน Tuple ด้วยตัวดัชนี (Index) ใน Python

# สร้าง Tuple
fruits = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")

# เข้าถึงข้อมูลใน Tuple ด้วยตัวดัชนี (Index)
print(fruits[0])    # output: apple
print(fruits[2])    # output: cherry
print(fruits[-1])   # output: mango

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

การอัพเดตข้อมูล (Update)

ไม่สามารถอัพเดตข้อมูลใน Tuples ได้ เนื่องจาก Tuples เป็นประเภทข้อมูลที่ Immutable หรือไม่สามารถเปลี่ยนแปลงค่าภายในได้หลังจากสร้าง Tuples แล้ว ดังนั้นเมื่อต้องการเปลี่ยนแปลงข้อมูลภายใน Tuples จะต้องสร้าง Tuples ใหม่ที่มีข้อมูลใหม่ทั้งหมดเสมอ โดยใช้การสร้าง Tuples ใหม่จากข้อมูล Tuples เดิมและการใช้ตัวดำเนินการที่เหมาะสม เช่น +, *, slicing และฟังก์ชัน tuple() เป็นต้น

การเปิดข้อมูล (Unpack)

การ Unpack ข้อมูล (Unpacking) ในภาษา Python คือ การเปิด (unpack) ข้อมูลจาก Tuple หรือ List เพื่อนำไปใช้งานต่อไป โดยการ Unpack สามารถทำได้โดยการกำหนดตัวแปรเท่ากับ Tuple หรือ List ที่ต้องการจะ Unpack

ตัวอย่างการ Unpack Tuple:

# กำหนดค่าให้กับ Tuple
person = ("John", 25, "male")

# ทำการ Unpack Tuple
name, age, gender = person

# แสดงผลลัพธ์
print(name)    # ผลลัพธ์: John
print(age)     # ผลลัพธ์: 25
print(gender)  # ผลลัพธ์: male

จากตัวอย่าง เรากำหนดค่าให้กับ Tuple person โดยมีข้อมูลเกี่ยวกับชื่อ อายุ และเพศของบุคคล จากนั้นเราทำการ Unpack Tuple โดยกำหนดตัวแปร name, age, gender เท่ากับ Tuple person ซึ่งจะทำการเปิด (unpack) ค่าข้อมูลใน Tuple ไปเก็บไว้ในตัวแปรที่กำหนด จากนั้นแสดงผลลัพธ์ออกมา

ตัวอย่างการ Unpack List:

# กำหนดค่าให้กับ List
numbers = [1, 2, 3, 4, 5]

# ทำการ Unpack List
first, *rest, last = numbers

# แสดงผลลัพธ์
print(first)  # ผลลัพธ์: 1
print(rest)   # ผลลัพธ์: [2, 3, 4]
print(last)   # ผลลัพธ์: 5

จากตัวอย่าง เรากำหนดค่าให้กับ List numbers ซึ่งมีข้อมูลเกี่ยวกับตัวเลข จากนั้นเราทำการ Unpack List โดยกำหนดตัวแปร first, rest, last เท่ากับ List numbers ซึ่งจะทำการเปิด (unpack) ค่าข้อมูลใน List ไปเก็บไว้ในตัวแปรที่กำหนด

การทำซ้ำข้อมูล (Loop)

การวนลูปเพื่อเข้าถึงข้อมูลใน Tuples สามารถทำได้โดยใช้คำสั่ง for loop เช่นเดียวกับการทำซ้ำข้อมูลใน List

ตัวอย่างเช่น ถ้าเรามี Tuples ที่มีข้อมูลอยู่ดังนี้

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

สามารถใช้ for loop เพื่อทำซ้ำข้อมูลใน Tuples ได้เช่นเดียวกับ List ดังนี้

fruits = ("apple", "banana", "cherry")
for x in fruits:
  print(x)

ผลลัพธ์ที่ได้จะเป็นการแสดงผลของแต่ละองค์ประกอบของ Tuples

apple
banana
cherry

นอกจากนี้เรายังสามารถใช้คำสั่ง while loop ในการทำซ้ำข้อมูลใน Tuples ได้เช่นกัน ดังตัวอย่างนี้

fruits = ("apple", "banana", "cherry")
i = 0
while i < len(fruits):
  print(fruits[i])
  i = i + 1

ผลลัพธ์ที่ได้จะเหมือนกับการใช้ for loop ในการแสดงผลข้อมูลใน Tuples

apple
banana
cherry