Python การใช้งาน Array

การใช้งาน Array ใน Python สามารถทำได้หลายรูปแบบ โดยทั่วไปแล้ว Python ไม่มีโครงสร้างข้อมูล Array ที่เป็น built-in แบบในภาษาอื่น ๆ เช่น C หรือ Java แต่ Python มีโครงสร้างข้อมูลที่ใกล้เคียงกันที่เรียกว่า list ซึ่งมีความยืดหยุ่นและสามารถเก็บข้อมูลหลายประเภทไว้ในตัวเดียวกันได้ นอกจากนี้ยังสามารถใช้ array จากโมดูล array ของ Python ได้หากต้องการใช้งาน Array ที่มีประสิทธิภาพสำหรับข้อมูลชนิดเดียวกัน

การใช้งาน list (List in Python)

ใน Python การใช้งาน list เป็นโครงสร้างข้อมูลที่ใช้บ่อยที่สุดในการเก็บข้อมูลแบบหลายค่า โดยสามารถเก็บค่าชนิดใดก็ได้ใน list และสามารถเปลี่ยนแปลงค่าภายในได้

ตัวอย่างการใช้งาน list

Python
# สร้าง list
my_list = [1, 2, 3, 4, 5]

# การเข้าถึงข้อมูลใน list โดยใช้ index
print(my_list[0])  # Output: 1

# การแก้ไขข้อมูลใน list
my_list[1] = 10
print(my_list)  # Output: [1, 10, 3, 4, 5]

# การเพิ่มข้อมูลใน list
my_list.append(6)
print(my_list)  # Output: [1, 10, 3, 4, 5, 6]

# การลบข้อมูลใน list
my_list.remove(3)
print(my_list)  # Output: [1, 10, 4, 5, 6]

# การวนลูปผ่าน list
for item in my_list:
    print(item)

การใช้งาน array จากโมดูล array

หากต้องการใช้ Array ที่มีประสิทธิภาพและสามารถเก็บข้อมูลชนิดเดียวกันได้ (เช่น เก็บเฉพาะตัวเลข) สามารถใช้โมดูล array ซึ่งเหมาะสมสำหรับการประมวลผลข้อมูลที่มีจำนวนมาก ๆ

ตัวอย่างการใช้งาน array

Python
import array

# สร้าง array ที่เก็บเฉพาะตัวเลขแบบ integer
my_array = array.array('i', [1, 2, 3, 4, 5])

# การเข้าถึงข้อมูลใน array
print(my_array[0])  # Output: 1

# การแก้ไขข้อมูลใน array
my_array[1] = 10
print(my_array)  # Output: array('i', [1, 10, 3, 4, 5])

# การเพิ่มข้อมูลใน array
my_array.append(6)
print(my_array)  # Output: array('i', [1, 10, 3, 4, 5, 6])

# การลบข้อมูลใน array
my_array.remove(3)
print(my_array)  # Output: array('i', [1, 10, 4, 5, 6])

การใช้งาน NumPy Array

หากต้องการการประมวลผลเชิงตัวเลขที่มีประสิทธิภาพสูง สามารถใช้ NumPy ซึ่งเป็นไลบรารีที่มีโครงสร้างข้อมูล Array ที่มีประสิทธิภาพและรองรับการประมวลผลทางคณิตศาสตร์ที่ซับซ้อน

ตัวอย่างการใช้งาน NumPy Array

Python
import numpy as np

# สร้าง NumPy array
my_numpy_array = np.array([1, 2, 3, 4, 5])

# การเข้าถึงข้อมูลใน NumPy array
print(my_numpy_array[0])  # Output: 1

# การคำนวณเชิงคณิตศาสตร์กับ NumPy array
my_numpy_array = my_numpy_array * 2
print(my_numpy_array)  # Output: [ 2  4  6  8 10]

# การเพิ่มและลบข้อมูลใน NumPy array จะใช้ฟังก์ชันเฉพาะ เช่น np.append
my_numpy_array = np.append(my_numpy_array, 12)
print(my_numpy_array)  # Output: [ 2  4  6  8 10 12]

การใช้งาน Multi-dimensional Array (Array หลายมิติ)

ทั้ง list และ NumPy array รองรับการใช้งาน Array หลายมิติ ซึ่งสามารถใช้เก็บข้อมูลในรูปแบบตารางหรือโครงสร้างข้อมูลที่ซับซ้อนได้

ตัวอย่าง Multi-dimensional List

Python
# สร้าง list 2 มิติ
multi_dim_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# การเข้าถึงข้อมูลใน list 2 มิติ
print(multi_dim_list[0][1])  # Output: 2

# วนลูปผ่าน list 2 มิติ
for row in multi_dim_list:
    for item in row:
        print(item)

ตัวอย่าง Multi-dimensional NumPy Array

Python
# สร้าง NumPy array 2 มิติ
multi_dim_numpy_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# การเข้าถึงข้อมูลใน NumPy array 2 มิติ
print(multi_dim_numpy_array[0][1])  # Output: 2

# วนลูปผ่าน NumPy array 2 มิติ
for row in multi_dim_numpy_array:
    for item in row:
        print(item)

การใช้งาน List Comprehension

Python ยังมีคุณสมบัติที่เรียกว่า list comprehension ซึ่งช่วยให้สามารถสร้างและประมวลผล list อย่างรวดเร็วด้วยการวนลูปในบรรทัดเดียว

ตัวอย่าง List Comprehension

Python
# สร้าง list ที่มีตัวเลข 1 ถึง 10 โดยใช้ list comprehension
my_list = [x for x in range(1, 11)]
print(my_list)  # Output: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# สร้าง list ที่มีตัวเลขคู่ระหว่าง 1 ถึง 10
even_list = [x for x in range(1, 11) if x % 2 == 0]
print(even_list)  # Output: [2, 4, 6, 8, 10]

สรุป

  • list ใน Python เป็นโครงสร้างข้อมูลที่ยืดหยุ่นและสามารถเก็บข้อมูลหลายประเภทได้
  • โมดูล array ของ Python เหมาะสำหรับการเก็บข้อมูลชนิดเดียวกันและประหยัดหน่วยความจำ
  • NumPy เหมาะสำหรับการประมวลผลเชิงคณิตศาสตร์ที่มีประสิทธิภาพ โดยเฉพาะการจัดการ Array ขนาดใหญ่
  • สามารถใช้ Array หลายมิติเพื่อเก็บข้อมูลที่ซับซ้อนมากขึ้น
  • การใช้ list comprehension ช่วยให้การประมวลผลข้อมูลใน list ทำได้อย่างมีประสิทธิภาพ
แชร์เรื่องนี้