เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming Tutor วันนี้เราจะมาเข้าสู่บทTuple
tuple คือคอลเล็กชันที่เรียงลำดับและไม่สามารถเปลี่ยนแปลงได้ ใน Python tuples เขียนด้วยวงเล็บ()
ตัวอย่าง
thistuple = ("apple", "banana", "cherry") |
ผลลัพธ์
('apple', 'banana', 'cherry') |
การเข้าถึงสมาชิกภายใน Tuple
นักเรียนสามารถเข้าถึง tuple โดยอ้างอิงถึงหมายเลขดัชนีภายในเครื่องหมายวงเล็บเหลี่ยม[]
ตัวอย่าง
thistuple = ("apple", "banana", "cherry") |
ในตัวอย่าง เป็นการเข้าถึงสมาชิกใน Tuple เพื่ออ่านค่าภายใน ตัวแปร thistuple นั้นเป็น Tuple ที่มีสมาชิกเป็นเพียงข้อมูล ซึ่งสมาชิกตัวแรกจะมีค่าดัชนีเป็น 0
ผลลัพธ์
banana |
นอกจากนี้การเข้าถึงสมาชิกที่มีอินเด็กซ์ติดลบคือการเริ่มต้นจากจุดสิ้นสุด -1 หมายถึงรายการสุดท้าย -2 หมายถึงlistถัดจากสุดท้ายลำดับที่สอง
ตัวอย่าง
thistuple = ("apple", "banana", "cherry") |
ผลลัพธ์
cherry |
เข้าถึงสมาชิกแบบกำหนดช่วงข้อมูล
นักเรียนสามารถระบุช่วงข้อมูลของดัชนีได้โดยระบุตำแหน่งที่จะเริ่มและตำแหน่งที่จะสิ้นสุดช่วง เมื่อระบุช่วงค่าส่งคืนจะเป็น tuple ใหม่พร้อมlistที่ระบุ
ตัวอย่าง
บรรทัดที่ 2 สั่งให้แสดงค่าในตัวแปร thistuple โดยกำหนดช่วงข้อมูลลำดับที่ 2 ถึงลำดับที่ 5 โดยข้อมูลที่เราจะได้ ตัวแรกคือตัวอักษรลำดับที่ 3 นั่นคือ cherry (ไม่ใช่ banana เพราะอินเด็กซ์เริ่มจาก 0) ตัวสุดท้ายคือตัวอักษรลำดับที่ 2-5 นั่นคือลำดับที่ 4 ได้แก่ตัวอักษร orange ดังนั้น ข้อมูลที่เราจะได้จากคำสั่งนี้ก็คือ chrry orange kiwi
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango") #This will return the items from position 2 to 5. |
ผลลัพธ์
('cherry', 'orange', 'kiwi') |
การจัดทำดัชนีเชิงลบหมายถึงการเริ่มต้นจากจุดสิ้นสุด -1 หมายถึงlistสุดท้าย -2 หมายถึงlistสุดท้ายที่สองเป็นต้น
ตัวอย่าง
บรรทัดที่ 2 เข้าถึงข้อมูลสมาชิก Tuple โดยระบุค่าอินเด็กซ์ติดลบ ในตัวอย่างระบุค่าเริ่มต้นเป็น -4 (หมายถึง ตัวอักขระตัวที่ 4 นับมาจากตัวสุดท้าย นั่นคือตัว orange) และระบุค่าสิ้นสุดเป็น -1 (หมายถึง ตัวอักขระตัวที่ 1 นับจากตัวสุดท้าย (เริ่มที่ 0) นั่นคือตัว melon)
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango") #Negative indexing means starting from the end of the tuple. |
ผลลัพธ์
('orange', 'kiwi', 'melon') |
เปลี่ยนค่า Tuple
เมื่อสร้างtuple นักเรียนจะไม่สามารถเปลี่ยนค่าได้ tupleจะไม่เปลี่ยนแปลงหรือไม่เปลี่ยนรูป แต่มีวิธีแก้ปัญหาคือ นักเรียนสามารถแปลง tuple เป็นlist เปลี่ยนlistและแปลงlistกลับเป็น tuple ได้นั่นเอง
ยกตัวอย่าง
แปลง tuple เป็นlistเพื่อให้สามารถเปลี่ยนแปลงได้
x = ("apple", "banana", "cherry") |
ผลลัพธ์
("apple", "kiwi", "cherry") |
จะเห็นได้ว่า ข้อมูลที่เป็นTuple ได้ถูกแปลงเป็นList เรียบร้อย
การอ่านค่าใน Tuple ด้วยคำสั่ง For loop
นักเรียนสามารถวนซ้ำไอเท็ม tuple โดยใช้ for loop
ตัวอย่าง
thistuple = ("apple", "banana", "cherry") |
ในตัวอย่าง เป็นการใช้ For loop เพื่อวนอ่านค่าใน Tuple ในลูปแรกเป็นการวนอ่านค่าในตัวแปร thistuple แบบทีละค่าด้วยการใช้คำสั่ง in ในการวนแต่ละรอบโปรแกรมจะนำค่าภายใน Tuple มาเก็บไว้ในตัวแปร x ในลูปที่สองเป็นการใช้ For loop เพื่อสร้าง Index ตั้งแต่ 0 ถึงตัวสุดท้ายและเข้าถึงค่าของ Tuple ผ่านทาง Index ของมัน
ผลลัพธ์
apple |
ตรวจสอบว่ามีlistอยู่หรือไม่
เพื่อตรวจสอบว่าlistที่ระบุมีอยู่ใน tuple ใช้คำหลัก in
ตัวอย่าง
thistuple = ("apple", "banana", "cherry") |
ผลลัพธ์
Yes, 'apple' is in the fruits tuple |
ความยาว Tuple
ในการกำหนดจำนวนlist tuple มีให้ใช้วิธี len () len(ตัวแปรหรือข้อมูล)
ตัวอย่าง
thistuple = ("apple", "banana", "cherry") |
ผลลัพธ์
3 |
เพิ่มList
เมื่อสร้างtupleนักเรียนจะไม่สามารถเพิ่มlistได้ tupleไม่สามารถเปลี่ยนแปลงได้
ตัวอย่าง
นักเรียนไม่สามารถเพิ่มlistลงใน tuple
thistuple = ("apple", "banana", "cherry") |
ทำการรวมข้อมูลชนิด tuple ด้วยเครื่องหมาย “+”
หากต้องการรวม tupleตั้งเเต่สองค่าขึ้นไป นักเรียนสามารถใช้ตัวดำเนินการ +
ตัวอย่าง
tuple1 = ("a", "b" , "c") |
ผลลัพธ์
('a', 'b', 'c', 1, 2, 3) |
การลบข้อมูล tuple
หมายเหตุ: นักเรียนไม่สามารถลบlistต่าง ๆ ในtuple
Tuples ไม่สามารถเปลี่ยนได้ดังนั้นนักเรียนจึงไม่สามารถลบlistออกจากมันได้ แต่นักเรียนสามารถลบtupleได้โดยใช้ del
ตัวอย่าง
thistuple = ("apple", "banana", "cherry") |
ผลลัพธ์
Traceback (most recent call last): |
จากตัวอย่างด้านบน ได้ทำการลบสมาชิกข้อมูล Tuple เรียบร้อย ก็จบกันไปเเล้วกับบทความ tuple เป็นอย่างไรบ้าง มาถึงบทนี้กกันเเล้ว นั่งอ่านต่ออีกสักหน่อย เพื่อทำความเข้าใจมากขึ้น เจอกันในบทหน้าครับ
แปลจากhttps://www.w3schools.com/python/python_tuples.asp
Tag ที่น่าสนใจ: python tuples programming data_structure indexing negative_indexing slice list_conversion for_loop
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM