ข้อมูลประเภท 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