เข้าใจ List 1 มิติ 2 มิติ และ 3 มิติใน Python แบบง่าย ๆ

ห้องเรียนออนไลน์pythonการพัฒนาซอฟต์แวร์เชิงวัตถุ

เข้าใจ List 1 มิติ 2 มิติ และ 3 มิติใน Python แบบง่าย ๆ

Chalothorn Kosakul    30 มิถุนายน, 2568    62 views

ลิสต์ (List) คือโครงสร้างข้อมูลพื้นฐานที่ใช้งานบ่อยในภาษา Python โดยสามารถเก็บข้อมูลหลายค่าไว้ในตัวแปรเดียว และยังสามารถซ้อนกันได้หลายระดับ หากนักเรียนยังไม่คุ้นเคยกับการใช้งานลิสต์มากนัก ครูแนะนำให้อ่านบทความ ข้อมูลประเภทลิสต์ในภาษา Python ก่อน เพื่อวางรากฐานความเข้าใจให้แน่นก่อนเข้าสู่เนื้อหาเรื่องลิสต์ 1 มิติ 2 มิติ และ 3 มิติในบทความนี้ครับ

สารบัญ


1. ลิสต์ 1 มิติ (One-Dimensional List)

ลิสต์ที่เรียงข้อมูลในแนวเดียวกัน เช่น รายชื่อ รายการ หรือคะแนนสอบ

fruits = ["apple", "banana", "orange"]
print(fruits[0])  # apple

การเข้าถึงข้อมูล: ใช้ดัชนี [index] โดยเริ่มนับจาก 0

การวนลูปแสดงข้อมูล:

for fruit in fruits:
    print(fruit)

2. ลิสต์ 2 มิติ (Two-Dimensional List)

เหมาะสำหรับจัดเก็บข้อมูลที่มีลักษณะเป็นตาราง เช่น คะแนนนักเรียนหลายคนในหลายวิชา

scores = [
    [80, 90, 85],
    [70, 75, 88],
    [60, 65, 70]
]

การเข้าถึงข้อมูล: ใช้ดัชนีแบบ [แถว][คอลัมน์] เช่น

print(scores[1][2]) # 88

การวนลูปซ้อนกันเพื่อแสดงข้อมูล:

for row in scores:
    for score in row:
        print(score, end=" ")
    print()

3. ลิสต์ 3 มิติ (Three-Dimensional List)

ใช้สำหรับข้อมูลที่ซับซ้อนมากขึ้น เช่น คะแนนของนักเรียนในหลายชั้นเรียน หลายห้อง

# ข้อมูลคะแนนนักเรียน หลายชั้น หลายห้อง
school_scores = [
    [   # ชั้น ปวช.3
        [80, 85, 90],   # ห้อง ชทท.66.1
        [70, 75, 65]    # ห้อง ชทท.66.2
    ],
    [   # ชั้น ปวช.2
        [60, 70, 75]    # ห้อง ชทท.67.1
    ]
]

การเข้าถึงข้อมูล:

print(school_scores[0][0][1])  # ปวช.3 ห้อง ชทท.66.1 วิชาที่ 2 => 85
print(school_scores[1][0][2])  # ปวช.2 ห้อง ชทท.67.1 วิชาที่ 3 => 75

4. การแสดงข้อมูลลิสต์ 3 มิติแบบวนลูป

school_scores = [
    [   # ชั้น ปวช.3
        [80, 85, 90],   # ห้อง ชทท.66.1
        [70, 75, 65]    # ห้อง ชทท.66.2
    ],
    [   # ชั้น ปวช.2
        [60, 70, 75]    # ห้อง ชทท.67.1
    ]
]

grade_names = ["ปวช.3", "ปวช.2"]
room_names = [
    ["ชทท.66.1", "ชทท.66.2"],
    ["ชทท.67.1"]
]

for i in range(len(school_scores)):
    print(f"ชั้น {grade_names[i]}")
    for j in range(len(school_scores[i])):
        print(f"  ห้อง {room_names[i][j]}: ", end="")
        for score in school_scores[i][j]:
            print(score, end=" ")
        print()
    print()

ผลลัพธ์ที่ได้:

ชั้น ปวช.3  
  ห้อง ชทท.66.1: 80 85 90  
  ห้อง ชทท.66.2: 70 75 65  

ชั้น ปวช.2  
  ห้อง ชทท.67.1: 60 70 75  

แชร์ข่าวนี้