บทที่ 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 ลิสต์ช่วยให้เราสามารถเก็บข้อมูลหลายค่าในลำดับเดียวกันและสามารถเปลี่ยนแปลง แก้ไข เพิ่ม หรือลบข้อมูลได้ตามต้องการ นอกจากนี้ เรายังสามารถใช้ลิสต์ในการประมวลผลข้อมูลหลายประเภทพร้อมกันได้อย่างมีประสิทธิภาพ