6.2 การเข้าถึงสมาชิกภายใน Tuple
ในการเขียนโปรแกรมภาษา Python นั้น Tuple จะคล้ายกับ List แต่สิ่งที่แตกต่างกันคือ Tuple นั้นเป็นประเภทข้อมูลที่ไม่สามารถเปลี่ยนแปลงได้ (Immutable) หรือกล่าวอีกนัยหนึ่ง หลังจากที่ประกาศตัวแปรและกำหนดค่าให้กับ Tuple แล้ว มันจะไม่สามารถเปลี่ยนแปลงค่าได้ในภายหลัง ในขณะที่ List สามารถทำได้
เนื่องจากว่า Tuples นั้นไม่สามารถเปลี่ยนแปลงค่าได้ ดังนั้นมันจึงมักจะใช้เก็บข้อมูลที่มีประเภทแตกต่างกันซึ่งจะทำงานได้ดีกว่า List และในการใช้งาน Loop กับ Tuple จะเพิ่มความเร็วขึ้นเล็กน้อย นอกจากนี้เรายังสามารถใช้ Tuple เป็นค่าคงที่สำหรับข้อมูลที่ไม่ต้องการให้เปลี่ยนแปลงได้
การเข้าถึงสมาชิกภายใน Tuple
ในการเข้าถึงสมาชิกภายใน Tuple นั้นจะใช้ index เช่นเดียวกับ List โดยสมาชิกตัวแรกจะมี Index เป็นศูนย์ และสำหรับสมาชิกตัวต่อไปจะเพิ่มขึ้นทีละ 1 Tuple มักจะใช้กับประเภทข้อมูลที่แตกต่างกัน และ สมาชิกของมันจะไม่สามารถเปลี่ยนแปลงค่าได้ นั่นคือ Tuple สามารถอ่านได้เพียงอย่างเดียว มาดูตัวอย่างการอ่านค่าของ Tuple ในภาษา Python
#Example6201
numbers = (1, 2, 3, 4, 5)
print('numbers[0] =', numbers[0])
print('numbers[3] =', numbers[3])
print('numbers[-1] =', numbers[-1])
mixed_type = (1.1, 1, 'Python', [10, 20, 30])
print('mixed_type[0] =', mixed_type[0])
print('mixed_type[3] =', mixed_type[3])
print('mixed_type[3][0] =', mixed_type[3][0])
ในตัวอย่าง เป็นการเข้าถึงสมาชิกใน Tuple เพื่ออ่านค่าภายใน ตัวแปร numbers นั้นเป็น Tuple ที่มีสมาชิกเป็นเพียงตัวเลข Integer เราเข้าถึงสมาชิกตัวแรกของมันด้วย numbers[0] และสมาชิกตัวที่สี่ด้วย numbers[3] เราสามารถใช้ Index เป็นจำนวนเต็มลบได้ โดยเริ่มตั้งแต่ -1 ซึ่งเป็นสมาชิกตัวสุดท้ายใน Tuple
ต่อไปเป็นการประกาศตัวแปร mixed_type ซึ่งประกอบไปด้วยข้อมูลประเภทต่างๆ เช่น ตัวเลข String และ List และเราเข้าถึงสมาชิกผ่านทาง Index เช่นเดิม สำหรับ Sequence ที่ซ้อนกัน เราจะใช้รูปแบบ Index ของการเข้าถึงเป็น [m][n] เหมือนในคำสั่ง mixed_type[3][0]
เมื่อรันโปรแกรมจะได้ดังนี้
numbers[0] = 1
numbers[3] = 4
numbers[-1] = 5
mixed_type[0] = 1.1
mixed_type[3] = [10, 20, 30]
mixed_type[3][0] = 10
การเข้าถึง Tuple ด้วยคำสั่ง for loop
เนื่องจาก Tuple นั้นเป็นข้อมูลแบบ Sequence เช่นเดียวกับ List ดังนั้นมันจึงสะดวกที่จะใช้คำสังวนซ้ำ เช่น For loop เพื่อวนอ่านข้อมูลใน Tuple มาดูตัวอย่างการอ่านค่าสมาชิกของ Tuple ด้วยการใช้คำสั่ง For loop ในภาษา Python
#Example6202
numbers = (10, 20, 30, 40, 50, 60, 70, 80)
for n in numbers:
print(n, end = ' ')
print()
names = ('James', 'Alex', 'Bobby', 'Johnny', 'Nathan')
for i in range(0, len(names)):
print(names[i], end = ' ')
ในตัวอย่าง เป็นการใช้ For loop เพื่อวนอ่านค่าใน Tuple ในลูปแรกเป็นการวนอ่านค่าในตัวแปร numbers แบบทีละค่าด้วยการใช้คำสั่ง in ในการวนแต่ละรอบโปรแกรมจะนำค่าภายใน Tuple มาเก็บไว้ในตัวแปร n ในลูปที่สองเป็นการใช้ For loop เพื่อสร้าง Index ตั้งแต่ 0 ถึงตัวสุดท้ายและเข้าถึงค่าของ Tuple ผ่านทาง Index ของมัน
เมื่อรันโปรแกรมจะได้ดังนี้
10 20 30 40 50 60 70 80
James Alex Bobby Johnny Nathan