# Tuple ในภาษา Python แตกต่างกับ List อย่างไร? Mutable คืออะไร? พร้อมตัวอย่างและโค้ด
ในภาษา Python ทั้ง tuple และ list ถือเป็น data structures ที่สำคัญและใช้งานได้อย่างแพร่หลาย ทั้งคู่มีวัตถุประสงค์เพื่อจัดเก็บข้อมูลหลายๆ อย่างในรูปแบบเดียวกัน หรือที่เรียกว่า collection แต่แม้ดูคล้ายกัน ทั้งคู่ก็มีความแตกต่างอย่างชัดเจน เราจะมาพิจารณาความแตกต่างของทั้งสองอย่างนี้ พร้อมทั้งจะทำความเข้าใจเกี่ยวกับคำว่า "mutable" และดูตัวอย่างโค้ดที่เกี่ยวข้องกัน
Tuple ใน Python เป็น collection ประเภทหนึ่งที่ไม่สามารถเปลี่ยนแปลงข้อมูลภายในได้หลังจากที่ถูกสร้างขึ้นมาแล้ว นั่นคือเมื่อคุณได้สร้าง tuple แล้ว คุณจะไม่สามารถเพิ่ม, ลบ, หรือเปลี่ยนแปลงข้อมูลที่อยู่ด้านในของ tuple ดังกล่าวได้อีก โครงสร้างของ tuple มักจะใช้สำหรับข้อมูลที่เป็น static หรือไม่ต้องการการเปลี่ยนแปลงหลังจากถูกสร้าง
ตัวอย่างโค้ดด้าน Tuple:
# การสร้าง tuple
my_tuple = (1, 2, 3, 'hello')
print(my_tuple) # Output: (1, 2, 3, 'hello')
# พยายามเปลี่ยนแปลงข้อมูลใน tuple จะเกิด error
# my_tuple[1] = 4 # TypeError: 'tuple' object does not support item assignment
ต่างจาก tuple, list ใน Python นั้นเป็น mutable นั่นคือข้อมูลภายใน list สามารถถูกเปลี่ยนแปลงได้หลังจากที่ถูกสร้างขึ้นมาแล้ว คุณสามารถเพิ่ม ลบ หรือเปลี่ยนแปลงข้อมูลที่อยู่ด้านในของ list ได้ตามต้องการ list มักจะใช้เมื่อต้องการข้อมูลที่มีการเปลี่ยนแปลงอยู่เรื่อยๆ
ตัวอย่างโค้ดด้าน List:
# การสร้าง list
my_list = [1, 2, 3, 'hello']
print(my_list) # Output: [1, 2, 3, 'hello']
# เปลี่ยนแปลงข้อมูลใน list
my_list[1] = 4
print(my_list) # Output: [1, 4, 3, 'hello']
คำว่า "Mutable" ในทางโปรแกรมมิ่งหมายถึง objects ที่สามารถเปลี่ยนแปลงข้อมูลหรือสถานะของมันได้หลังจากที่ถูกสร้างขึ้นมา List ใน Python เป็นตัวอย่างของ mutable objects ซึ่งต่างจาก tuple ที่เป็น immutable objects ที่ไม่สามารถทำการเปลี่ยนแปลงได้
เรียนรู้เพิ่มเติมเกี่ยวกับการจัดการข้อมูลด้วย Tuple และ List ในภาษา Python จะช่วยให้คุณพัฒนาโปรแกรมได้อย่างมีประสิทธิภาพและเหมาะสมยิ่งขึ้น หากคุณสนใจในการศึกษาการเขียนโปรแกรม โรงเรียน EPT พร้อมเป็นแนวทางที่ดีในการเริ่มต้นการเรียนรู้ของคุณในทางที่ถูกต้องและมั่นคงในด้านการเขียนโค้ดที่มีคุณภาพและมีโครงสร้างที่ดี.
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM