6.1 ประกาศและใช้งาน Tuple
ในการเขียนโปรแกรมภาษา Python นั้น Tuple จะคล้ายกับ List แต่สิ่งที่แตกต่างกันคือ Tuple นั้นเป็นประเภทข้อมูลที่ไม่สามารถเปลี่ยนแปลงได้ (Immutable) หรือกล่าวอีกนัยหนึ่ง หลังจากที่ประกาศตัวแปรและกำหนดค่าให้กับ Tuple แล้ว มันจะไม่สามารถเปลี่ยนแปลงค่าได้ในภายหลัง ในขณะที่ List สามารถทำได้
เนื่องจากว่า Tuples นั้นไม่สามารถเปลี่ยนแปลงค่าได้ ดังนั้นมันจึงมักจะใช้เก็บข้อมูลที่มีประเภทแตกต่างกันซึ่งจะทำงานได้ดีกว่า List และในการใช้งาน Loop กับ Tuple จะเพิ่มความเร็วขึ้นเล็กน้อย นอกจากนี้เรายังสามารถใช้ Tuple เป็นค่าคงที่สำหรับข้อมูลที่ไม่ต้องการให้เปลี่ยนแปลงได้
Python Tuple methods
เนื่องจากค่าของ Tuple นั้นไม่สามารถแก้ไขได้ ดังนั้นมันจึงมีเมธอดน้อยกว่าที่ List มี คือเมธอด count() ใช้สำหรับนับจำนวนออบเจ็คใน Tuple และเมธอด index() ใช้สำหรับหาตำแหน่งแรกของออบเจ็คใน Tuple
#Example6401
languages = ('Python', 'PHP', 'Java', 'C#', 'C++')
print('Count for "Python" =', languages.count('Python'))
print('Index of "Python" =', languages.index('Python'))
print('Index of "C#" =', languages.index('C#'))
ในตัวอย่าง เป็นการใช้งานเมธอดของ Tuple เรามีตัวแปร languages สำหรับเก็บชื่อของภาษาเขียนโปรแกรม และเราใช้เมธอด count() เพื่อนับว่าพบ 'Python' กี่อันภายใน Tuple และเมธอด index() ใช้สำหรับหา Index ของออบเจ็คภายใน Tuple
เมื่อรันโปรแกรมจะได้ดังนี้
Count for "Python" = 1
Index of "Python" = 0
Index of "C#" = 3
Python Tuple functions
ในภาษา Python นั้นมีฟังก์ชันต่างๆ สำหรับทำงานกับ Sequence โดยทั่วไปแล้ว List และ Tuple นั้นจะสามารถใช้งานฟังก์ชันเหล่านี้ได้เหมือนกัน นี่เป็นตารางของ built-in function ของ Tuple
all(iterable) ส่งค่ากลับ`True` ถ้าหากค่าทั้งหมดใน Tuple เป็นจริง
any(iterable) ส่งค่ากลับ `True` ถ้าหากมีอย่างน้อยหนึ่งค่าใน Tuple เป็นจริง
enumerate(iterable) ส่งค่ากลับเป็น enumerate ออบเจ็คที่ประกอบไปด้วย Key และ Value ของ Tuple
len(iterable) ส่งค่ากลับเป็นจำนวนของออบเจ็คใน Tuple
max(iterable) ส่งค่ากลับเป็นค่าที่มากที่สุดใน Tuple
min(iterable) ส่งค่ากลับเป็นค่าที่น้อยที่สุดใน Tuple
sorted(iterable) ส่งค่ากลับเป็น List ที่มีการเรียงข้อมูลแล้ว
sum(iterable) ส่งค่ากลับเป็นผลรวมของสมาชิกใน Tuple
tuple(iterable) แปลงออบเจ็คต่างๆ เช่น List หรือ String ให้เป็น Tuple
#Example6402
num = (5,1,6,8,9,12,500,123,200,300)
print('Max : ', max(num)
print('Sort : ', sorted(num)
print('Sum : ', sum(num)
เมื่อรันโปรแกรมจะได้ดังนี้
Max : 500
Sort : [1, 5, 6, 8, 9, 12, 123, 200, 300, 500]
Sum : 1164