0Pricing
Python Academy · บทเรียน

ทูเพิลและคุณสมบัติแก้ไขไม่ได้

ทำความเข้าใจทูเพิล คุณสมบัติแก้ไขไม่ได้ และกรณีที่ควรเลือกใช้แทนลิสต์

ทูเพิลและคุณสมบัติแก้ไขไม่ได้ เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน

บทนำ

ทูเพิลเป็นลำดับที่มีการเรียงลำดับและเปลี่ยนแปลงไม่ได้ เมื่อสร้างแล้วจะไม่สามารถเปลี่ยนสมาชิกภายในได้

การสร้างทูเพิล

t = (1, 2, 3) หรือ t = 1, 2, 3 (ไม่ใส่วงเล็บก็ได้) ทูเพิลที่มีสมาชิกหนึ่งรายการต้องมีจุลภาคต่อท้าย: t = (1,)
t = (1, 2, 3)
singleton = (42,)
print(t, singleton)

ทูเพิลไม่สามารถเปลี่ยนแปลงได้

t[0] = 99 จะทำให้เกิด TypeError ทูเพิลไม่สามารถแก้ไขได้หลังจากสร้างแล้ว นี่คือคุณสมบัติสำคัญของทูเพิล
t = (1, 2, 3)
# t[0] = 99  # TypeError
print(t[0])

การใช้ดัชนีและการตัดช่วงของทูเพิล

t[0], t[-1], t[1:3] ทำงานเช่นเดียวกับลิสต์ ทูเพิลรองรับการดำเนินการอ่านทั้งหมด
t = (10, 20, 30)
print(t[1])
print(t[:2])

การจัดกลุ่มและการแยกสมาชิกของทูเพิล

a, b = (1, 2) จะแยกสมาชิกจากทูเพิล การเขียน a, b = b, a ก็ทำได้เช่นกัน เพื่อสลับตัวแปรโดยไม่ต้องใช้ตัวแปรชั่วคราว
a, b = 1, 2
a, b = b, a
print(a, b)

การใช้ทูเพิลเป็นคีย์ของดิกชันนารี

เนื่องจากทูเพิลสามารถแฮชได้ จึงใช้เป็นคีย์ของดิกชันนารีได้: coords = {(0,0): 'origin'} ลิสต์ไม่สามารถใช้เป็นคีย์ของดิกชันนารีได้
coords = {(0, 0): 'origin', (1, 0): 'right'}
print(coords[(0, 0)])

ทูเพิลกับลิสต์ — ควรใช้เมื่อใด

ใช้ทูเพิลกับข้อมูลต่างชนิดที่มีโครงสร้างตายตัว เช่น (name, age) และใช้ลิสต์กับข้อมูลชนิดเดียวกันที่มีจำนวนสมาชิกเปลี่ยนแปลงได้
point = (3.0, 4.0)  # tuple: fixed structure
scores = [85, 90, 78]  # list: variable

ทูเพิลแบบมีชื่อ

from collections import namedtuple; Point = namedtuple('Point', ['x','y']); p = Point(3,4); p.x ให้ค่าเป็น 3
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(3, 4)
print(p.x, p.y)

เมธอดของทูเพิล

ทูเพิลมีเพียง count() และ index() เท่านั้น t.count(2) นับจำนวนครั้งที่พบค่า 2 ส่วน t.index(2) คืนตำแหน่งแรกที่พบ
t = (1, 2, 2, 3)
print(t.count(2))
print(t.index(2))

ประสิทธิภาพของทูเพิล

ทูเพิลทำงานเร็วกว่าเล็กน้อยและใช้หน่วยความจำน้อยกว่าลิสต์ เพราะ Python สามารถปรับประสิทธิภาพอ็อบเจ็กต์ที่เปลี่ยนแปลงไม่ได้
import sys
print(sys.getsizeof((1,2,3)))
print(sys.getsizeof([1,2,3]))

การแปลงระหว่างลิสต์กับทูเพิล

list(t) แปลงทูเพิลเป็นลิสต์ ส่วน tuple(lst) แปลงลิสต์เป็นทูเพิล มีประโยชน์เมื่อคุณต้องการให้ข้อมูลเปลี่ยนแปลงได้ชั่วคราว
t = (1, 2, 3)
lst = list(t)
lst.append(4)
t2 = tuple(lst)
print(t2)

ตรวจสอบความเข้าใจ

เหตุใดจึงใช้ทูเพิลเป็นคีย์ของดิกชันนารีได้ แต่ใช้ลิสต์ไม่ได้

สรุปทบทวน

ทูเพิล: เปลี่ยนแปลงไม่ได้ มีลำดับ และแฮชได้ ใช้กับข้อมูลที่มีโครงสร้างตายตัว ใช้เป็นคีย์ของดิกชันนารี และใช้เก็บค่าที่คืนกลับมาหลายค่า namedtuple เพิ่มการเข้าถึงสมาชิกผ่านแอตทริบิวต์

เรียนต่อ

ทำได้ดีมากครับ! ไปยังบทเรียนถัดไปเพื่อพัฒนาทักษะของคุณต่อ

คำถามที่พบบ่อย

บทเรียน “ทูเพิลและคุณสมบัติแก้ไขไม่ได้” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ทูเพิลและคุณสมบัติแก้ไขไม่ได้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ทูเพิลและคุณสมบัติแก้ไขไม่ได้”

ทำความเข้าใจทูเพิล คุณสมบัติแก้ไขไม่ได้ และกรณีที่ควรเลือกใช้แทนลิสต์ คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “ทูเพิลและคุณสมบัติแก้ไขไม่ได้” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม

ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การสร้างและเข้าถึงลิสต์
  2. การแก้ไขลิสต์
  3. ทูเพิลและคุณสมบัติแก้ไขไม่ได้
  4. ลิสต์ซ้อนกันและการวนซ้ำ
← กลับไปที่ Python Academy