รายการแบบสองมิติจะรวมรายการอื่นๆ ไว้ในรายการเดียวโดยเป็นองค์ประกอบของรายการ ซึ่งเป็นการ ซ้อนกันของรายการ ผู้ที่เคยใช้ C หรือ C++ อาจเข้าใจแนวคิดของอาร์เรย์ ใน Python อาร์เรย์มีอยู่ในไลบรารีของบุคคลที่สาม ดังนั้น หากเราต้องการใช้วิธีการอาร์เรย์ใน Python โดยไม่ต้องติดตั้งปลั๊กอินของบริษัทอื่น เราต้องใช้ รายการสองมิติวิธีนี้
ที่จริงแล้ว องค์ประกอบในรายการสามารถเป็นประเภทข้อมูลใดก็ได้ ลองดูตัวอย่าง:
my_list=[[1,2,3,4,5],'dotcpp',{1,2,3,},('www','dotcpp','com')]พิมพ์(my_list)
ผลลัพธ์คือ:
[[1,2,3,4,5],'dotcpp',{1,2,3},('www','dotcpp','com')]
รายการนี้ประกอบด้วยรายการ สตริง ชุด และทูเพิล เมื่อองค์ประกอบทั้งหมดในรายการเป็นรายการ มันเป็นรายการสองมิติที่ใช้บ่อยที่สุดของเรา ต่อไปนี้จะแนะนำวิธีการสร้างและเข้าถึงรายการสองมิติหลายวิธี
วิธีสร้างโดยตรงคือการป้อนชื่อรายการโดยตรงหลังจากกำหนด เรามากำหนดแป้นพิมพ์ขนาดเล็กง่ายๆ กัน คือ 1-9:
my_list=[[1,2,3],[4,5,6],[7,8,9]]พิมพ์(my_list)
ผลลัพธ์คือ:
[[1,2,3],[4,5,6],[7,8,9]]
เมื่อเราเข้าใจแล้ว เราก็จะเข้าใจได้ดังนี้
ดังที่เห็นได้จากรูป my_list[0] สอดคล้องกับ [1,2,3] ดังนั้นเมื่อเราเข้าถึง 1 พิกัดที่สอดคล้องกันของมันคือ (0,0) และเราสามารถเข้าถึงได้ผ่านดัชนี กล่าวคือ my_list[0 ][0] ค่าของมันสอดคล้องกับ 1 และค่าอื่น ๆ เข้าถึงได้ในลักษณะเดียวกัน ตัวอย่างเช่น วิธีการเข้าถึงที่สอดคล้องกับองค์ประกอบ 9 คือ my_list[2][2]
การสร้างรายการสามารถทำได้โดยใช้การวนซ้ำ โดยปกติจะใช้การวนซ้ำสำหรับรายการสองมิติขนาด 6*6 โค้ดจะเป็นดังนี้:
my_list=[]#ขั้นแรกให้สร้างรายการหลัก foriinrange(6):#วนซ้ำ 6 ครั้ง และสร้างรายการใหม่สำหรับแต่ละองค์ประกอบของรายการหลักตามลำดับ j=[]#ขั้นแรกให้สร้างรายการใหม่และเพิ่มในรายการหลัก list my_list. ผนวก(j)forminrange(1,7):j.append(m)#Add element to the sublist print(my_list)#Output
ผลลัพธ์คือ:
[[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3, 4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6]]
ผลลัพธ์ที่แท้จริงควรอยู่ในบรรทัดเดียว โดยจะจัดเรียงเช่นนี้เพื่อความสะดวกของทุกคนในการทำความเข้าใจ คุณยังสามารถลองสร้างรายการสองมิติผ่านการวนซ้ำขณะหนึ่งได้
รายการแบบสองมิติยังสามารถสร้างได้โดยใช้รายการความเข้าใจ เราเพิ่งเรียนรู้รายการความเข้าใจในส่วนที่แล้ว ดังนั้นเราจึงสามารถใช้วิธีนี้โดยตรงเพื่อทำให้โค้ดของเราง่ายขึ้น
เราสร้างรายการสองมิติอีกครั้งด้วยหกแถวและหกคอลัมน์ โค้ดของมันค่อนข้างง่ายดังนี้:
my_list=[[iforiinrange(1,7)]forjinrange(1,7)]พิมพ์(my_list)
ผลลัพธ์คือ:
[[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3, 4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6]]
วิธีการนี้ไม่เพียงช่วยประหยัดเวลา แต่ยังปรับโค้ดให้เหมาะสมอีกด้วย ซึ่งเทียบเท่ากับการสร้าง 6 รายการในลูปและกำหนดค่า 6 ค่า สุดท้ายรายการเหล่านั้นจะถูกวางไว้ในรายการเพื่อสร้างรายการสองมิติ
มาเรียนรู้เพิ่มเติมผ่านตัวอย่าง
เราต้องการสร้างรายการขนาด 6*6 จากนั้นค่าในนั้นจะถูกสุ่มเลือกตั้งแต่ 1-100 รหัสมีดังนี้:
importrandom#random เป็นโมดูลในไลบรารีระบบและสามารถเรียกได้ตลอดเวลา นี่คือคำแนะนำโดยย่อ my_list=[]#First สร้างรายการ foriinrange(6):#Create 6 รายการในวงและใส่ลงใน my_list j =[]my_list.append (j)forkinrange(6):c=random.randint(1,100)#เรียกเมธอดแบบสุ่มเพื่อสร้างตัวเลขสุ่ม และกำหนดค่าของตัวเลขสุ่มที่สร้างขึ้นเป็น cj.append(c)# เพิ่มค่าของ c print(my_list) ในรายการ j
ผลลัพธ์คือ:
[[52,83,15,35,54,60],[17,61,77,99,60,50],[88,81,9,61,76,95],[21,52,20, 49,10,61],[94,81,48,27,80,9],[1,94,57,66,95,97]]
แนวคิดของคำถามนี้สอดคล้องกับวิธีที่สองข้างต้น นักเรียนที่ไม่เชี่ยวชาญในการหาค่ามาแบบรายการสามารถใช้วิธีนี้ได้ในระยะเริ่มต้น เมื่อเทียบกับตัวอย่างก่อนหน้านี้ จะเพิ่มฟังก์ชันค่าสุ่ม
ในส่วนของรายการสองมิตินี่เป็นสิ่งสำคัญมากสำหรับนักเรียนที่ต้องการเข้าร่วมการแข่งขัน ไม่ว่าคุณจะประสบปัญหาเขาวงกตหรือปัญหาราชินีครั้งที่ 2 ในภายหลัง คุณไม่สามารถทำได้โดยไม่ต้องใช้รายการสองมิติ จะแนะนำสั้น ๆ ที่นี่ คุณสามารถ ตามความเข้าใจเบื้องต้นจะมีการอธิบายเกี่ยวกับคำถามสองประเภทนี้ในคำถามการแข่งขันครั้งต่อไป