กลไกภายในของ List
ในแบบฝึกหัดนี้มีโค้ดตั้งต้นให้แล้ว ได้แก่ list ชื่อ areas และสำเนาของมันชื่อ areas_copy
ปัจจุบัน โค้ดจะเปลี่ยนค่าสมาชิกตัวแรกใน areas_copy แล้วพิมพ์ areas ออกมา ถ้ากด รันโค้ด จะเห็นว่าแม้จะแก้ areas_copy แต่การเปลี่ยนแปลงนั้นส่งผลกับ areas ด้วย เหตุผลคือ areas และ areas_copy ชี้ไปยัง list เดียวกัน
หากต้องการให้การเปลี่ยนแปลงใน areas_copy ไม่กระทบกับ areas จะต้องสร้างสำเนาแบบชัดเจนของ areas โดยใช้ list() หรือ [:]
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้น
คำแนะนำการฝึกหัด
- แก้ไขคำสั่งที่สอง ซึ่งเป็นส่วนที่สร้างตัวแปร
areas_copyให้areas_copyเป็นสำเนาแบบชัดเจนของareasหลังจากแก้ไขแล้ว การเปลี่ยนแปลงในareas_copyจะต้องไม่ส่งผลกับareasจากนั้นกด ส่งคำตอบ เพื่อตรวจสอบผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create list areas
areas = [11.25, 18.0, 20.0, 10.75, 9.50]
# Change this command
areas_copy = areas
# Change areas_copy
areas_copy[0] = 5.0
# Print areas
print(areas)