บทนำ
การสร้าง tuple ที่มีค่าเริ่มต้นซ้ำกัน และเปลี่ยนค่าที่ตำแหน่งเฉพาะ สามารถทำได้โดยใช้ลิสต์ช่วยสร้าง แล้วแปลงเป็น tuple ด้วยฟังก์ชัน tuple() และออปเปอเรเตอร์ * สำหรับทำซ้ำค่า
ตัวอย่างโค้ด
# กำหนดค่าพารามิเตอร์
N = 6 # ขนาดของ tuple
default_val = 2 # ค่าเริ่มต้น
index = 3 # ตำแหน่งที่จะเปลี่ยน (0-based index)
new_val = 6 # ค่าใหม่ที่จะใส่
print(f"N = {N}, ค่าเริ่มต้น = {default_val}, ตำแหน่ง = {index}, ค่าใหม่ = {new_val}")
# สร้างลิสต์ด้วยค่าเริ่มต้นซ้ำ N ครั้ง
temp_list = [default_val] * N
# เปลี่ยนค่าที่ตำแหน่ง index
temp_list[index] = new_val
# แปลงเป็น tuple
result_tuple = tuple(temp_list)
print("Tuple ที่ได้:", result_tuple)
ผลลัพธ์
N = 6, ค่าเริ่มต้น = 2, ตำแหน่ง = 3, ค่าใหม่ = 6 Tuple ที่ได้: (2, 2, 2, 6, 2, 2)
คำอธิบาย
[default_val] * Nสร้างลิสต์ที่มีค่าdefault_valซ้ำ N ตัว- แก้ไขค่าที่ index ที่ต้องการได้ เพราะลิสต์เป็น mutable
tuple(temp_list)แปลงลิสต์เป็น tuple (immutable)- วิธีนี้เหมาะสำหรับสร้าง tuple ขนาดใหญ่ที่มีค่าส่วนใหญ่เหมือนกัน
หมายเหตุ
Tuple ใน Python เป็น immutable (แก้ไขค่าไม่ได้โดยตรง) ดังนั้นจึงต้องสร้างผ่านลิสต์ก่อนแล้วค่อยแปลง