ปัญหาหลักที่เกี่ยวข้องกับการรวมอาร์เรย์ 2 มิติใน Python คือไวยากรณ์สำหรับการทำเช่นนั้นอาจค่อนข้างซับซ้อนและเข้าใจยาก เนื่องจากมีหลายวิธีในการหาผลรวมอาร์เรย์ 2 มิติ ขึ้นอยู่กับรูปร่างของอาร์เรย์และประเภทของผลรวมที่ต้องการ ตัวอย่างเช่น หากคุณต้องการรวมองค์ประกอบทั้งหมดในอาร์เรย์ 2 มิติ คุณจะต้องใช้การวนซ้ำแบบซ้อน หากคุณต้องการรวมองค์ประกอบบางอย่างในอาร์เรย์ 2 มิติ คุณจะต้องใช้รายการความเข้าใจหรือเทคนิคขั้นสูงอื่นๆ นอกจากนี้ อาจเป็นเรื่องยากที่จะแก้ไขข้อผิดพลาดเมื่อทำงานกับอาร์เรย์ 2 มิติ เนื่องจากมีความซับซ้อนมากกว่าอาร์เรย์ 1 มิติ
def sum_2d_array(arr): result = 0 # iterate through rows for i in range(0, len(arr)): # iterate through columns for j in range(0, len(arr[i])): result += arr[i][j] return result
# รหัสนี้กำหนดฟังก์ชันที่เรียกว่า sum_2d_array ซึ่งใช้ในอาร์เรย์เป็นอาร์กิวเมนต์
# ตัวแปรผลลัพธ์เริ่มต้นเป็น 0
# for loop ใช้เพื่อวนซ้ำแถวของอาร์เรย์ และใช้ for loop ที่ซ้อนกันเพื่อวนซ้ำผ่านคอลัมน์ของแต่ละแถว
# สำหรับแต่ละองค์ประกอบในอาร์เรย์ ค่าขององค์ประกอบนั้นจะถูกเพิ่มเข้าไปในตัวแปรผลลัพธ์
# สุดท้าย ฟังก์ชันส่งคืนผลรวมทั้งหมดขององค์ประกอบทั้งหมดในอาร์เรย์
อาร์เรย์คืออะไร
?
อาร์เรย์ใน Python เป็นโครงสร้างข้อมูลที่จัดเก็บรายการต่างๆ คล้ายกับรายการ แต่รายการที่จัดเก็บไว้ในอาร์เรย์มักเป็นประเภทเดียวกันและเข้าถึงได้โดยใช้ดัชนีตัวเลข อาร์เรย์สามารถใช้เพื่อจัดเก็บตัวเลข สตริง ออบเจกต์ และชนิดข้อมูลอื่นๆ นอกจากนี้ยังมีประโยชน์สำหรับการดำเนินการทางคณิตศาสตร์กับชุดข้อมูลจำนวนมาก
Array vs List ใน Python
Array และ List เป็นทั้งโครงสร้างข้อมูลใน Python ที่ใช้ในการจัดเก็บชุดข้อมูล อาร์เรย์เป็นโครงสร้างข้อมูลที่จัดเก็บรายการประเภทเดียวกัน ในขณะที่รายการเป็นโครงสร้างข้อมูลที่ยืดหยุ่นกว่าซึ่งสามารถจัดเก็บรายการประเภทต่างๆ ได้
อาร์เรย์เร็วกว่าและมีประสิทธิภาพในการจัดเก็บและเข้าถึงข้อมูลมากกว่ารายการ แต่มีข้อจำกัดด้านความยืดหยุ่นเนื่องจากองค์ประกอบทั้งหมดต้องเป็นประเภทเดียวกัน ในทางกลับกัน รายการสามารถมีองค์ประกอบประเภทต่างๆ ได้ แต่ใช้หน่วยความจำมากกว่าและเข้าถึงได้ช้ากว่าอาร์เรย์
วิธีหาผลรวมอาร์เรย์ 2 มิติใน Python
ในการหาผลรวมอาร์เรย์ 2 มิติใน Python คุณสามารถใช้ฟังก์ชัน sum() ในตัวได้ ไวยากรณ์สำหรับสิ่งนี้มีดังนี้:
ผลรวม(อาร์เรย์, แกน=ไม่มี)
โดยที่อาร์เรย์คืออาร์เรย์ 2 มิติที่คุณต้องการหาผลรวม และแกนเป็นอาร์กิวเมนต์ทางเลือกที่ระบุว่าควรรวมแกนใดของอาร์เรย์ หากไม่ได้กำหนดค่าให้กับแกน องค์ประกอบทั้งหมดของอาร์เรย์จะถูกรวมเข้าด้วยกัน
ตัวอย่างเช่น ถ้าเรามีอาร์เรย์ 2 มิติชื่อ my_array ที่มี 3 แถวและ 4 คอลัมน์:
[[1,2,3,4],
[5,6,7,8]
[9,10,11,12]]
เราสามารถใช้รหัสต่อไปนี้เพื่อรวมองค์ประกอบทั้งหมดของ my_array:
รวม = ผลรวม (my_array) #total = 78
หรือเราสามารถใช้รหัสต่อไปนี้เพื่อรวมแต่ละแถวของ my_array:
row_sums = ผลรวม(my_array ,axis=1) #row_sums = [10 26 42]