หน้าแรก › โจทย์ฟรีรายข้อ › ครูผู้ช่วย วิชาเอกคอมพิวเตอร์
พิจารณาโปรแกรมภาษา Python ต่อไปนี้ ผลลัพธ์ที่แสดงคือข้อใด grid = [[0] * 3] * 2 + [[0] * 3] grid[1][0] = 7 grid[2][2] = 4 print(grid)
- ก.[[0, 0, 0], [7, 0, 0], [0, 0, 4]]
- ข.[[7, 0, 0], [7, 0, 0], [0, 0, 4]]
- ค.[[7, 0, 0], [7, 0, 0], [7, 0, 4]]
- ง.[[7, 0, 4], [7, 0, 4], [7, 0, 4]]
ดูเฉลยและคำอธิบาย
คำตอบ: ข. [[7, 0, 0], [7, 0, 0], [0, 0, 4]]
[[0]*3]*2 สร้างลิสต์ภายนอกที่สมาชิก 2 ตัวอ้างถึงลิสต์ภายในตัวเดียวกัน ส่วน + [[0]*3] ต่อลิสต์ใหม่อีกตัวที่แยกต่างหาก การแก้ grid[1][0] จึงเห็นผลในแถว 0 และแถว 1 พร้อมกัน ส่วน grid[2][2] กระทบเฉพาะแถวที่ต่อเพิ่ม
ผลที่แถว 0 ไม่เปลี่ยนคือคิดว่าตัวดำเนินการ * คัดลอกลิสต์ภายในแยกกัน · ผลที่เลข 7 อยู่ทั้งสามแถวคือคิดว่าแถวที่ต่อด้วย + ใช้ลิสต์เดียวกันด้วย
GorPass เป็นแนวข้อสอบจำลองที่ทีมงานเขียนและตรวจเทียบแหล่ง ไม่ใช่ข้อสอบของส่วนราชการใด · ดูบันทึกการตรวจและอัปเดตคลัง · พบจุดที่ควรแก้ แจ้งได้ที่ เกี่ยวกับ/ติดต่อ