Python - อาร์เรย์ 2D
อาร์เรย์สองมิติคืออาร์เรย์ภายในอาร์เรย์ มันคืออาร์เรย์ของอาร์เรย์ ในอาร์เรย์ประเภทนี้ตำแหน่งขององค์ประกอบข้อมูลถูกอ้างถึงโดยดัชนีสองตัวแทนที่จะเป็นดัชนีเดียว ดังนั้นจึงแทนตารางที่มีแถวเป็น dcolumns ของข้อมูล ในตัวอย่างด้านล่างของอาร์เรย์สองมิติผู้สังเกตว่าแต่ละองค์ประกอบอาร์เรย์เองก็เป็นอาร์เรย์เช่นกัน
ลองพิจารณาตัวอย่างการบันทึกอุณหภูมิ 4 ครั้งต่อวันทุกวัน บางครั้งเครื่องมือบันทึกอาจผิดพลาดและเราไม่สามารถบันทึกข้อมูลได้ ข้อมูลดังกล่าวเป็นเวลา 4 วันสามารถนำเสนอเป็นอาร์เรย์สองมิติดังต่อไปนี้
Day 1 - 11 12 5 2
Day 2 - 15 6 10
Day 3 - 10 8 12 5
Day 4 - 12 15 8 6
ข้อมูลข้างต้นสามารถแสดงเป็นอาร์เรย์สองมิติได้ดังต่อไปนี้
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
การเข้าถึงค่าในอาร์เรย์สองมิติ
องค์ประกอบข้อมูลในอาร์เรย์สอง dimesnional สามารถเข้าถึงได้โดยใช้ดัชนีสองตัว ดัชนีหนึ่งที่อ้างถึงอาร์เรย์หลักหรือพาเรนต์และดัชนีอื่นที่อ้างถึงตำแหน่งขององค์ประกอบข้อมูลในอาร์เรย์ภายใน หากเรากล่าวถึงดัชนีเพียงตัวเดียวอาร์เรย์ภายในทั้งหมดจะถูกพิมพ์สำหรับตำแหน่งดัชนีนั้น ตัวอย่างด้านล่างแสดงให้เห็นถึงวิธีการทำงาน
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
print(T[0])
print(T[1][2])
เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
[11, 12, 5, 2]
10
ในการพิมพ์อาร์เรย์สองมิติทั้งหมดเราสามารถใช้ python สำหรับลูปดังที่แสดงด้านล่าง เราใช้ end of line เพื่อพิมพ์ค่าในแถวต่างๆ
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
for r in T:
for c in r:
print(c,end = " ")
print()
เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
11 12 5 2
15 6 10
10 8 12 5
12 15 8 6
การแทรกค่าในอาร์เรย์สองมิติ
เราสามารถแทรกองค์ประกอบข้อมูลใหม่ที่ตำแหน่งเฉพาะโดยใช้เมธอด insert () และระบุดัชนี
ในตัวอย่างด้านล่างนี้มีการแทรกองค์ประกอบข้อมูลใหม่ที่ตำแหน่งดัชนี 2
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
T.insert(2, [0,5,11,13,6])
for r in T:
for c in r:
print(c,end = " ")
print()
เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
11 12 5 2
15 6 10
0 5 11 13 6
10 8 12 5
12 15 8 6
การอัปเดตค่าในอาร์เรย์สองมิติ
เราสามารถอัปเดตอาร์เรย์ภายในทั้งหมดหรือองค์ประกอบข้อมูลเฉพาะบางส่วนของอาร์เรย์ภายในโดยกำหนดค่าใหม่โดยใช้ดัชนีอาร์เรย์
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
T[2] = [11,9]
T[0][3] = 7
for r in T:
for c in r:
print(c,end = " ")
print()
เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
11 12 5 7
15 6 10
11 9
12 15 8 6
การลบค่าในอาร์เรย์สองมิติ
เราสามารถลบอาร์เรย์ภายในทั้งหมดหรือองค์ประกอบข้อมูลเฉพาะบางส่วนของอาร์เรย์ภายในได้โดยกำหนดค่าใหม่โดยใช้วิธี del () ด้วยดัชนี แต่ในกรณีที่คุณจำเป็นต้องลบองค์ประกอบข้อมูลเฉพาะในอาร์เรย์ภายในตัวใดตัวหนึ่งให้ใช้ขั้นตอนการอัปเดตที่อธิบายไว้ข้างต้น
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
del T[3]
for r in T:
for c in r:
print(c,end = " ")
print()
เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
11 12 5 2
15 6 10
10 8 12 5