บทที่ 6: การทำงานกับข้อมูลแบบลิสต์ (Lists)

6.1 แนะนำ Lists และการใช้งาน

ลิสต์ (Lists) เป็นหนึ่งในโครงสร้างข้อมูลที่ใช้บ่อยที่สุดใน Python ลิสต์ใช้สำหรับเก็บชุดของข้อมูลหลายค่าในลำดับที่มีการจัดเรียง และสามารถเก็บข้อมูลประเภทต่าง ๆ ไว้ในลิสต์เดียวกันได้ เช่น ตัวเลข, สตริง, หรือแม้กระทั่งลิสต์อื่น ๆ ภายในลิสต์

1. การสร้างลิสต์

การสร้างลิสต์ใน Python ทำได้โดยการใช้เครื่องหมายสี่เหลี่ยมปีกกา [ ] แล้วใส่ค่าที่ต้องการเก็บในลิสต์ โดยค่าต่าง ๆ ในลิสต์จะถูกคั่นด้วยเครื่องหมายจุลภาค

ตัวอย่างการสร้างลิสต์

# สร้างลิสต์ที่มีตัวเลข
numbers = [1, 2, 3, 4, 5]

# สร้างลิสต์ที่มีสตริง
fruits = ["apple", "banana", "cherry"]

# สร้างลิสต์ที่มีข้อมูลหลากหลายประเภท
mixed_list = [1, "apple", True, 3.14]

2. การเข้าถึงข้อมูลในลิสต์

ข้อมูลในลิสต์สามารถเข้าถึงได้โดยใช้ดัชนี (index) ซึ่งเป็นตัวเลขที่ระบุตำแหน่งของข้อมูลภายในลิสต์ ดัชนีเริ่มต้นที่ 0 สำหรับตำแหน่งแรก, 1 สำหรับตำแหน่งที่สอง และต่อไปเรื่อย ๆ

ตัวอย่างการเข้าถึงข้อมูลในลิสต์

fruits = ["apple", "banana", "cherry"]

# เข้าถึงข้อมูลตามดัชนี
print(fruits[0])  # ผลลัพธ์: apple
print(fruits[1])  # ผลลัพธ์: banana

อธิบาย: ในตัวอย่างนี้ เราใช้ดัชนี [0] เพื่อเข้าถึงค่าตัวแรกในลิสต์ fruits ซึ่งก็คือ "apple"

3. การเปลี่ยนแปลงข้อมูลในลิสต์

ลิสต์ใน Python สามารถเปลี่ยนแปลงข้อมูลที่อยู่ภายในได้ (mutable) ดังนั้นเราสามารถเปลี่ยนค่าของข้อมูลที่อยู่ในตำแหน่งใด ๆ ของลิสต์ได้โดยตรง

ตัวอย่างการเปลี่ยนแปลงข้อมูลในลิสต์

fruits = ["apple", "banana", "cherry"]

# เปลี่ยนค่าตัวที่สอง
fruits[1] = "orange"

print(fruits)  # ผลลัพธ์: ['apple', 'orange', 'cherry']

4. การเพิ่มข้อมูลเข้าไปในลิสต์

เราสามารถเพิ่มข้อมูลเข้าไปในลิสต์ได้โดยใช้ฟังก์ชัน append() ซึ่งจะเพิ่มข้อมูลเข้าไปที่ตำแหน่งสุดท้ายของลิสต์

ตัวอย่างการเพิ่มข้อมูลเข้าไปในลิสต์

fruits = ["apple", "banana", "cherry"]

# เพิ่มข้อมูลเข้าไปในลิสต์
fruits.append("orange")

print(fruits)  # ผลลัพธ์: ['apple', 'banana', 'cherry', 'orange']

5. การลบข้อมูลออกจากลิสต์

เราสามารถลบข้อมูลออกจากลิสต์ได้โดยใช้ฟังก์ชัน remove() ซึ่งจะลบข้อมูลที่ตรงกับค่าที่กำหนด หรือใช้ฟังก์ชัน pop() เพื่อลบข้อมูลตามดัชนีที่ต้องการ

ตัวอย่างการลบข้อมูลออกจากลิสต์

fruits = ["apple", "banana", "cherry"]

# ลบข้อมูลโดยระบุตามค่า
fruits.remove("banana")

# ลบข้อมูลโดยระบุตามดัชนี
fruits.pop(0)

print(fruits)  # ผลลัพธ์: ['cherry']

6. การทำซ้ำข้อมูลในลิสต์ (Looping through Lists)

การวนซ้ำเพื่อประมวลผลข้อมูลภายในลิสต์ทำได้โดยใช้ลูป เช่น for loop ซึ่งช่วยให้เราสามารถทำงานกับแต่ละค่าภายในลิสต์ได้

ตัวอย่างการทำซ้ำข้อมูลในลิสต์

fruits = ["apple", "banana", "cherry"]

# วนซ้ำเพื่อพิมพ์ค่าทั้งหมดในลิสต์
for fruit in fruits:
    print(fruit)

อธิบาย: ลูป for นี้จะวนซ้ำและพิมพ์ค่าภายในลิสต์ fruits ทีละตัว

7. การตรวจสอบว่าค่าอยู่ในลิสต์หรือไม่

เราสามารถใช้คำสั่ง in เพื่อตรวจสอบว่าค่าที่ต้องการอยู่ในลิสต์หรือไม่ คำสั่งนี้จะคืนค่า True หรือ False

ตัวอย่างการตรวจสอบว่าค่าอยู่ในลิสต์หรือไม่

fruits = ["apple", "banana", "cherry"]

# ตรวจสอบว่ามี "banana" อยู่ในลิสต์หรือไม่
if "banana" in fruits:
    print("Yes, banana is in the list")

8. การสร้างลิสต์แบบซ้อนกัน (Nested Lists)

ลิสต์ใน Python สามารถซ้อนกันได้ ซึ่งหมายความว่าลิสต์หนึ่งสามารถเก็บลิสต์อื่นเป็นข้อมูลได้ ลิสต์ที่ซ้อนกันนี้ช่วยให้เราสามารถสร้างโครงสร้างข้อมูลที่ซับซ้อนขึ้นได้

ตัวอย่างการสร้างลิสต์แบบซ้อนกัน

nested_list = [[1, 2, 3], ["apple", "banana"], [True, False]]

# เข้าถึงข้อมูลในลิสต์แบบซ้อนกัน
print(nested_list[1][0])  # ผลลัพธ์: apple

อธิบาย: ในตัวอย่างนี้ เรามีลิสต์ nested_list ซึ่งภายในเก็บลิสต์อื่น ๆ ที่มีข้อมูลหลายประเภท เราสามารถเข้าถึงข้อมูลในลิสต์ที่ซ้อนกันได้โดยใช้ดัชนีสองชั้น

สรุป

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