ทูเพิลใน Python
tuple คือกลุ่มข้อมูลแบบมีลำดับเหมือน list แต่เปลี่ยนไม่ได้หลังสร้างเสร็จ จึงเหมาะกับข้อมูลที่คงที่ เช่น พิกัด
ทูเพิลใน Python คืออะไร?
tuple คือกลุ่มข้อมูลแบบมีลำดับเหมือน list แต่เปลี่ยนไม่ได้หลังสร้างเสร็จ จึงเหมาะกับข้อมูลที่คงที่ เช่น พิกัด
รวมค่าหลายค่าไว้ใน tuple แยกค่าออกมา และคืนค่าหลายค่าจากฟังก์ชัน
ควรใช้เมื่อใด?
- เรียนรู้ไวยากรณ์ Python ผ่านโค้ดที่รันได้
- สร้างพื้นฐานสำหรับโจทย์ที่ซับซ้อนขึ้น
- ทดลองแนวคิดโดยไม่ต้องติดตั้งบนเครื่อง
ดูการทำงาน
ทูเพิลแก้ไขไม่ได้หลังสร้างแล้ว ลองแก้ไขดู แล้วแตกค่าออกเป็นตัวแปรแยกกัน
โค้ดตัวอย่าง
# A tuple is an ordered collection that cannot be changed after it is created.
point = (3, 4)
colors = ("red", "green", "blue")
print(point[0], point[1])
print(len(colors), colors[-1])
# Unpacking assigns each item to its own variable.
x, y = point
print(f"x = {x}, y = {y}")
# Functions can return several values as a tuple.
def min_max(values):
return min(values), max(values)
low, high = min_max([7, 2, 9, 4])
print(low, high)
# Swap two variables without a temporary one.
a, b = 1, 2
a, b = b, a
print(a, b)
# Trying to change a tuple raises an error.
try:
point[0] = 10
except TypeError as error:
print("Error:", error)
ผลลัพธ์ที่คาดหวัง
3 4
3 blue
x = 3, y = 4
2 9
2 1
Error: 'tuple' object does not support item assignment
หลักการทำงาน
การแยกค่าออกจากกันจะกำหนดแต่ละรายการให้กับตัวแปรของตัวเอง ซึ่งเป็นวิธีที่ฟังก์ชันคืนค่าหลายค่าได้ และยังใช้กับ a, b = b, a เพื่อสลับค่าของตัวแปรสองตัว
เปลี่ยนค่าและรันโปรแกรมด้วย คอมไพเลอร์ Python ออนไลน์ของ CodeUtility โดยไม่ต้องติดตั้ง Python
แบบฝึกหัด
ลองเปลี่ยน input และทดสอบกรณีขอบก่อนใช้ชุดข้อมูลที่ใหญ่ขึ้น
- คาดเดา output ก่อนรัน
- รองรับ input ว่างหรือไม่ถูกต้อง
- แยก logic เป็นฟังก์ชันและเพิ่ม test case
ฝึกด้วยโจทย์
ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI
- Min and Max Together Find the smallest and largest value in one pass. ง่าย
- Swap First and Last Exchange the first and last items of a list. ง่าย