
เขียนโปรแกรมภาษา Python ตอนที่ 87 ข้อมูลชนิด Tuple
Tuple คือข้อมูลแบบคอลเล็คชันที่มีการเรียงลำดับและไม่สามารถเปลี่ยนแปลงได้ ซึ่งข้อมูลแบบ Tuple นี้จะถูกเขียนอยู่ในเครื่องหมายวงเล็บ () round brackets
tupledata = ("Python", "ASP.NET", "C#") print(tupledata) #('Python', 'ASP.NET', 'C#')
การเข้าถึงไอเท็มของ Tuple
เราสามารถเข้าถึงสมาชิกของ Tuple ได้โดยการอ้างอิงหมายเลขอินเด็กซ์ ซึ่งจะถูกเขียนไว้ในวงเล็บ [] square brackets โดยลำดับอินเด็กซ์จะเริ่มจาก 0
tupledata = ("Python", "ASP.NET", "C#", "Swift", "Kotlin") print(tupledata[3]) # ผลลัพธ์ : "Swift"
จากตัวอย่าง สั่งให้แสดงข้อมูลใน Tuple โดยอ้างอิงอินเด็กซ์ลำดับ 3 (จะหมายถึงสมาชิกตัวที่ 4 เพราะอินเด็กซ์เริ่มนับจาก 0)
การเข้าถึงข้อมูลด้วยอินเด็กซ์ติดลบ
ถ้าเราระบุอินเด็กซ์เป็นค่าติดลบ จะเป็นการอ้างอิงสมาชิกใน Tuple โดยเริ่มนับจากสมาชิกตัวสุดท้ายก่อน และจะเริ่มจากอินเด็กซ์ -1 ดังตัวอย่าง
tupledata = ("Python", "ASP.NET", "C#", "Swift", "Kotlin") print(tupledata[-3]) # ผลลัพธ์ : "C#"
จากโค้ดตัวอย่าง สั่งให้แสดงสมาชิกลำดับที่ -3 ใน Tuple นั่นคือ สมาชิกตัวที่ 3 นับจากตัวสุดท้าย ผลลัพธ์จึงเป็น “C#” เพราะ “C#” เป็นสมาชิกลำดับที่ 3 ถ้านับมาจากทางท้ายนั่นเอง
การเข้าถึงข้อมูลใน Tuple แบบระบุช่วงอินเด็กซ์
เราสามารถเข้าถึงข้อมูลใน Tuple โดยการระบุอินเด็กซ์อ้างอิงเป็นช่วงได้ เช่น ต้องการข้อมูลลำดับที่ 4 ถึง 6 ก็สามารถทำได้เช่นกัน โดยต้องคั่นอินเด็กซ์เริ่มต้นกับอินเด็กซ์สิ้นสุดด้วยเครื่องหมายโคลอน : โดยเราจะได้ข้อมูลกลับมาเป็น Tuple ใหม่ ที่มีสมาชิกตามที่เราระบุในอินเด็กซ์
รูปแบบการระบุอินเด็กซ์แบบช่วงจะเป็นดังนี้
tuple[4:6]
- ตัวเลขตัวแรกคือ start index อินเด็กซ์เริ่มต้น (นับเริ่มจาก 0)
- ตัวเลขตัวที่สอง คือ end index อินเด็กซ์สิ้นสุด (ข้อมูลที่ได้จะได้ข้อมูลลำดับที่ end index – 1)
ตัวอย่างการเข้าถึงสมาชิกใน Tuple แบบกำหนดช่วง
tupledata = ("Python", "ASP.NET", "C#", "Swift", "Kotlin", "Java", "JavaScript", "Bootstrap") print(tupledata[4:6]) # ผลลัพธ์ : ('Kotlin', 'Java')
จากโค้ด สั่งให้แสดงข้อมูลจาก Tuple โดยระบุอินเด็กซ์เป็น [4:6] เราจะได้ข้อมูลตั้งแต่สมาชิกลำดับที่ 4 (สมาชิกตัวที่ 5) จนถึงสมาชิกลำดับที่ 6-1 (คือสมาชิกลำดับที่ 5) ผลลัพธ์จึงได้เป็น (‘Kotlin’, ‘Java’)
การเข้าถึงข้อมูลใน Tuple แบบช่วงด้วยอินเด็กซ์ติดลบ
เราสามารถเข้าถึงข้อมูลใน Tuple แบบช่วงด้วยการระบุอินเด็กเป็นตัวเลขติดลบได้ เช่น tuple[-5:-2]
ข้อมูลเริ่มต้น เราจะได้ข้อมูลเริ่มต้นตามตัวเลขที่ระบุเป็น start index เช่นระบุเป็น -5 ก็จะได้สมาชิกลำดับที่ 5 นับมาจากทางท้ายของ Tuple
แต่ข้อมูลตัวสุดท้าย เราจะได้ข้อมูลลำดับถัดจากตัวเลข end index ที่ระบุ เช่น ถ้าระบุเป็น -1 เราจะได้ข้อมูลถึงลำดับ -2 แต่ถ้าระบุเป็น -2 เราจะได้ข้อมูลลำดับ -3 ดังตัวอย่าง
tupledata = ("Python", "ASP.NET", "C#", "Swift", "Kotlin", "Java", "JavaScript", "Bootstrap") print(tupledata[-5:-2]) # ผลลัพธ์ : ('Swift', 'Kotlin', 'Java')
จากตัวอย่าง เราเข้าถึงข้อมูลจาก Tuple แบบช่วง โดยกำหนดหมายเลขอินเด็กซ์ติดลบ จากตัวอย่าง เรากำหนดอินเด็กซ์เป็น [-5:-2] เราจะได้ข้อมูลลำดับที่ -5 ถึง -3 จึงได้ผลลัพธ์เป็น (‘Swift’, ‘Kotlin’, ‘Java’) ดูภาพประกอบ

การเปลี่ยนแปลงค่าใน Tuple
เมื่อเราสร้างข้อมูลชนิด Tuple ขึ้นมา เราจะไม่สามารถเปลี่ยนแปลงค่าของมันได้ แต่ก็มีวิธีแก้ ดังนี้
- แปลงข้อมูล Tuple เป็นข้อมูลแบบ List
- เปลี่ยนแปลงข้อมูลใน List
- แปลงข้อมูลจาก List กลับมาเป็น Tuple
ตัวอย่าง
tupledata = ("Python", "ASP.NET", "C#") listdata = list(tupledata) listdata[2] = "Java" tupledata = tuple(listdata) print(tupledata) # ผลลัพธ์ : ('Python', 'ASP.NET', 'Java')
- บรรทัดที่ 1 สร้างตัวแปร tupledata เก็บข้อมูลแบบ Tuple
- บรรทัดที่ 2 แปลงข้อมูล Tuple ให้เป็นข้อมูลแบบ List โดยเก็บไว้ที่ตัวแปร listdata
- บรรทัดที่ 3 แก้ไขข้อมูลใน List (ในตัวอย่าง แก้ไข “C#” หมายเลขอินเด็กซ์ 2 โดยให้เป็นค่าใหม่คือ “Java”)
- บรรทัดที่ 4 แปลงข้อมูลจาก List ที่มีการแก้ไขแล้ว กลับมาเป็นข้อมูลประเภท Tuple เหมือนเดิม
- บรรทัดที่ 6 สั่งให้แสดงผลข้อมูลจาก Tuple ออกมา จะได้ข้อมูลที่เปลี่ยนไปจากเดิมตามที่เราแก้ไข
การเข้าถึงข้อมูลใน Tuple ด้วยลูป Loop
เราสามารถใช้ลูป for เข้าถึงสมาชิกแต่ละตัวใน Tuple ได้ ดังนี้
tupledata = ("Python", "ASP.NET", "C#", "Swift", "Kotlin", "Java", "JavaScript") for x in tupledata: print(x)
จากโค้ดตัวอย่าง เราใช้ลูป for เข้าถึงสมาชิกแต่ละตัวใน Tuple แล้วสั่งให้แสดงผลออกมา จะได้ผลลัพธ์ดังนี้

ตรวจสอบว่ามีข้อมูลที่ต้องการอยู่ใน Tuple หรือไม่
เราสามารถตรวจสอบว่ามีข้อมูลที่เราต้องการอยู่ใน Tuple หรือไม่ โดยใช้คีย์เวิร์ด in ดังนี้
tupledata = ("Python", "ASP.NET", "C#", "Swift", "Kotlin", "Java", "JavaScript") if "Kotlin" in tupledata: print("มีข้อมูล 'Kotlin' อยู่ใน Tuple") # ผลลัพธ์ : "มีข้อมูล 'Kotlin' อยู่ใน Tuple"
ตรวจสอบจำนวนสมาชิกใน Tuple ด้วยเมธอด len()
เราสามารถตรวจสอบว่าใน Tuple มีสมาชิกทั้งหมดจำนวนกี่ตัว โดยการใช้เมธอด len() ดังนี้
tupledata = ("Python", "ASP.NET", "C#", "Swift", "Kotlin", "Java", "JavaScript") print(len(tupledata)) # ผลลัพธ์ : 7
การสร้าง Tuple ที่มีสมาชิกเพียงตัวเดียว
โดยปกติ การสร้างข้อมูลประเภท Tuple จะทำโดยการสร้างตัวแปรและกำหนดค่าให้มันโดยข้อมูลที่กำหนดให้ Tuple จะต้องอยู่ในเครื่องหมายวงเล็บ () แต่ถ้าเราต้องการกำหนดข้อมูลที่มีสมาชิกเพียงตัวเดียวให้ Tuple จะต้องเติมเครื่องหมายคอมม่า (,) หลังสมาชิกตัวนั้นด้วย เช่น tupledata = (“Python”,) สังเกตว่า มีเครื่องหมายคอมม่า (,) ตามหลัง “Python”
ถ้าไม่ทำเช่นนี้ ไพธอนจะไม่มองว่าข้อมูลตัวนี้เป็น Tuple
ดูตัวอย่างประกอบ
tupledata = ("Python",) print(tupledata) # ผลลัพธ์ : ('Python',) # ข้อมูลนี้เป็นข้อมูลชนิด Tuple tupledata = ("Python") print(tupledata) # ผลลัพธ์ : Python # ข้อมูลนี้ไม่ถูกมองว่าเป็นข้อมูลชนิด Tuple
การลบข้อมูล Tuple
เราไม่สามารถลบสมาชิกตัวใด ๆ ออกจากข้อมูลชนิด Tuple ได้ แต่เราสามารถลบ Tuple ทั้งหมดทิ้งได้โดยใช้คีย์เวิร์ด del ดังนี้
tupledata = ("Python", "ASP.NET", "C#", "Swift", "Kotlin", "Java", "JavaScript") del tupledata # tupledata จะถูกลบอย่างถาวร
การจอยทูเพิล join tuple
เราสามารถจอยหรือรวม Tuple หลาย ๆ อันเข้าด้วยกันได้ด้วยเครื่องหมาย + ดังนี้
tupledata1 = ("Python", "ASP.NET", "C#", ) tupledata2 = ("Swift", "Kotlin", "Java", "JavaScript") tupledata3 = tupledata1 + tupledata2 print(tupledata3) # ผลลัพธ์ : ('Python', 'ASP.NET', 'C#', 'Swift', 'Kotlin', 'Java', 'JavaScript')
การสร้าง Tuple ด้วย tuple() Constructor
เราสามารถสร้างข้อมูลชนิด Tuple ด้วยคอนสตรัคเตอร์ tuple() ได้ ดังรูปแบบต่อไปนี้
tupledata = tuple(("Python", "ASP.NET", "C#", "Swift", "Kotlin", "Java", "JavaScript")) print(tupledata) # ผลลัพธ์ : ('Python', 'ASP.NET', 'C#', 'Swift', 'Kotlin', 'Java', 'JavaScript')
เมธอดของ Tuples
ข้อมูลประเภท Tuple มีเมธอดให้ใช้งานดังนี้
ชื่อเมธอด | คำอธิบาย |
count() | คืนค่ากลับมาเป็นตัวเลขบอกจำนวนครั้งที่เจอคำที่ค้นหาใน Tuple |
index() | ค้นหาข้อมูลที่ระบุใน Tuple แล้วคืนค่ากลับมาเป็นอินเด็กซ์บอกตำแหน่งที่ค้นเจอข้อมูลดังกล่าวเป็นครั้งแรก |
เขียนโปรแกรมภาษา Python
- ตอนที่ 1 ทำความรู้จักกับภาษาไพธอน Python
- ตอนที่ 2 เตรียมเครื่องมือ
- ตอนที่ 3 Python Syntax
- ตอนที่ 4 การเขียนคอมเม้นต์
- ตอนที่ 5 การใช้ฟังก์ชัน print
- ตอนที่ 6 ตัวแปร
- ตอนที่ 7 การตั้งชื่อตัวแปร
- ตอนที่ 8 การกำหนดค่าให้ตัวแปรทีละหลายตัว
- ตอนที่ 9การแสดงค่าจากตัวแปร
- ตอนที่ 10 ตัวแปรประเภท Global
- ตอนที่ 11 ชนิดข้อมูล
- ตอนที่ 12 ข้อมูลชนิดตัวเลข
- ตอนที่ 13 การแปลงชนิดข้อมูล
- ตอนที่ 14 ข้อมูลชนิด String
- ตอนที่ 15 slice syntax
- ตอนที่ 16 การเปลี่ยนแปลงข้อมูล String
- ตอนที่ 17 การต่อข้อมูลชนิด String
- ตอนที่ 18 การจัดรูปแบบ String
- ตอนที่ 19 Escape Character
- เตอนที่ 20 เมธอด zfill()
- ตอนที่ 21 เมธอด upper()
- ตอนที่ 22 เมธอด title()
- ตอนที่ 23 เมธอด swapcase()
- ตอนที่ 24 เมธอด strip()
- ตอนที่ 25 เมธอด startswith()
- ตอนที่ 26 เมธอด splitlines()
- ตอนที่ 27 เมธอด split()
- ตอนที่ 28 เมธอด rstrip()
- ตอนที่ 29 เมธอด rsplit()
- ตอนที่ 30 เมธอด rpartition()
- ตอนที่ 31 เมธอด rjust()
- ตอนที่ 32 เมธอด rindex()
- ตอนที่ 33 เมธอด rfind()
- ตอนที่ 34 เมธอด replace()
- ตอนที่ 35 เมธอด partition()
- ตอนที่ 36 เมธอด lstrip()
- ตอนที่ 37 เมธอด lower()
- ตอนที่ 38 เมธอด ljust()
- ตอนที่ 39 เมธอด join()
- ตอนที่ 40 เมธอด isupper()
- ตอนที่ 41 เมธอด istitle()
- ตอนที่ 42 เมธอด isspace()
- ตอนที่ 43 เมธอด isprintable()
- ตอนที่ 44 เมธอด isnumeric()
- ตอนที่ 45 เมธอด islower()
- ตอนที่ 46 เมธอด isidentifier()
- ตอนที่ 47 เมธอด isdigit()
- ตอนที่ 48 เมธอด isdecimal()
- ตอนที่ 49 เมธอด isalpha()
- ตอนที่ 50 เมธอด isalnum()
- ตอนที่ 51 เมธอด index()
- ตอนที่ 52 เมธอด format()
- ตอนที่ 53 เมธอด find()
- ตอนที่ 54 เมธอด expandtabs()
- ตอนที่ 55 เมธอด endswith()
- ตอนที่ 56 เมธอด encode()
- ตอนที่ 57 เมธอด count()
- ตอนที่ 58 เมธอด center()
- ตอนที่ 59 เมธอด casefold()
- ตอนที่ 60 เมธอด capitalize()
- ตอนที่ 61 เมธอด format_map()
- ตอนที่ 62 เมธอด maketrans()
- ตอนที่ 63 เมธอด translate()
- ตอนที่ 64 ข้อมูลชนิด Boolean
- ตอนที่ 65 ตัวดำเนินการ
- ตอนที่ 66 ข้อมูลประเภท List
- ตอนที่ 67 การเข้าถึงสมาชิกใน List
- ตอนที่ 68 การเปลี่ยนแปลงข้อมูลใน List
- ตอนที่ 69 การเพิ่มข้อมูลใน List
- ตอนที่ 70 การลบข้อมูลใน List
- ตอนที่ 71 การเข้าถึงข้อมูลใน List ด้วย loop
- ตอนที่ 72 List Comprehension
- ตอนที่ 73 การเรียงข้อมูลใน List
- ตอนที่ 74 การคัดลอก List
- ตอนที่ 75 การรวม List เข้าด้วยกัน
- ตอนที่ 76 เมธอด append()
- ตอนที่ 77 เมธอด clear()
- ตอนที่ 78 เมธอด copy()
- ตอนที่ 79 เมธอด count()
- ตอนที่ 80 เมธอด extend()
- ตอนที่ 81 เมธอด index()
- ตอนที่ 82 เมธอด insert()
- ตอนที่ 83 เมธอด pop()
- ตอนที่ 84 เมธอด remove()
- ตอนที่ 85 เมธอด reverse()
- ตอนที่ 86 เมธอด sort()
- ตอนที่ 87 ข้อมูลชนิด Tuple
- ตอนที่ 88 การเข้าถึงข้อมูลใน Tuple
- ตอนที่ 89 การแก้ไขข้อมูลใน Tuple
- ตอนที่ 90 การแยกข้อมูลใน Tuple
- ตอนที่ 91 เข้าถึงข้อมูลใน Tuple ด้วยลูป
- ตอนที่ 92 การรวม Tuple เข้าด้วยกัน
- ตอนที่ 93 เมธอด count()
- ตอนที่ 94 เมธอด index()
- ตอนที่ 95 ข้อมูลประเภท Set
- ตอนที่ 96 การเข้าถึงข้อมูลใน Set
- ตอนที่ 97 การเพิ่มข้อมูลใน Set
- ตอนที่ 98 การลบข้อมูลใน Set
- ตอนที่ 99 การเข้าถึงข้อมูลใน Set ด้วยลูป for
- ตอนที่ 100 การจอย Join ข้อมูลใน Set
- ตอนที่ 101 เมธอด add()
- ตอนที่ 102 เมธอด clear()
- ตอนที่ 103 เมธอด copy()
- ตอนที่ 104 เมธอด difference()
- ตอนที่ 105 เมธอด difference_update()
- ตอนที่ 106 เมธอด discard()
- ตอนที่ 107 เมธอด intersection()
- ตอนที่ 108 เมธอด intersection_update()
- ตอนที่ 109 เมธอด isdisjoint()
- ตอนที่ 110 เมธอด issubset()
- ตอนที่ 111 เมธอด issuperset()
- ตอนที่ 112 เมธอด pop()
- ตอนที่ 113 เมธอด remove()
- ตอนที่ 114 เมธอด symmetric_difference()
- ตอนที่ 115 เมธอด symmetric_difference_update()
- ตอนที่ 116 เมธอด union()
- ตอนที่ 117 เมธอด update()
- ตอนที่ 118 ข้อมูลประเภท Dictionary
- ตอนที่ 119 การเข้าถึงข้อมูลใน Dictionary
- ตอนที่ 120 การเปลี่ยนแปลงข้อมูลใน Dictionary
- ตอนที่ 121 การเพิ่มข้อมูลใน Dictionary
- ตอนที่ 122 การลบข้อมูลใน Dictionary
- ตอนที่ 123 การวนลูปเข้าถึงสมาชิกใน Dictionary
- ตอนที่ 124 การคัดลอก Dictionary
- ตอนที่ 125 Dictionary ซ้อนกัน
- ตอนที่ 126 เมธอด clear()
- ตอนที่ 127 เมธอด copy()
- ตอนที่ 128 เมธอด fromkeys()
- ตอนที่ 129 เมธอด get()
- ตอนที่ 130 เมธอด items()
- ตอนที่ 131 เมธอด keys()
- ตอนที่ 132 เมธอด pop()
- ตอนที่ 133 เมธอด popitem()
- ตอนที่ 134 เมธอด setdefault()
- ตอนที่ 135 เมธอด update()
- ตอนที่ 136 เมธอด values()
- ตอนที่ 137 การตรวจสอบเงื่อนไขด้วย If statement
- ตอนที่ 138 การใช้ while loop