5.4 List เมธอด
เนื่องจาก List เป็นออบเจ็ค ดังนั้น Python จึงได้ให้เมธอดต่าง ๆ สำหรับทำงานพื้นฐานกับ List ที่ช่วยอำนวยความสะดวกในการทำงานเป็นอย่างมาก นอกจากนี้ เรายังจะพูดถึงการใช้งาน built-in function กับ List ถึงแม้ในภาษา Python นั้นมีเมธอดและฟังก์ชันเป็นจำนวนมาก แต่เราจะมาดูตัวอย่างการใช้งานเฉพาะที่สำคัญ
append(x)
extend(iterable)
insert(i, x)
remove(x)
pop()
clear()
index(x[, start[, end]])
count(x)
sort(key=None, reverse=False)
reverse()
copy()
เพิ่มออบเจ็ค x เข้ามายัง List
เพิ่มข้อมูลจาก iterable เข้ามายัง List
ใส่ออบเจ็ค x เข้ามายัง List ที่ตำแหน่ง i
นำออบเจ็ค x อันแรกที่พบใน List ออก
นำข้อมูลอันสุดท้ายออกจาก List
ลบข้อมูลทั้งหมดภายใน List
ค้นหาตำแหน่งของออบเจ็ค x
นับออบเจ็ค x ใน List
เรียงข้อมูลภายใน List จากน้อยไปมาก
ย้อนกลับลำดับของ List
คัดลอก List ทั้งหมด
การใช้งานเมธอดของ List
ตัวอย่างแรกของการใช้เมธอดของ List นั้นจะเป็นการใช้งานเมธอดเพื่อทำงานพื้นฐานกับ List คือการเพิ่มและลบข้อมูลออกจาก List โปรแกรมของเราเป็นการใช้ List เพื่อเก็บรายชื่อ หลังจากนั้นเราใช้เมธอดต่างๆ กับเพื่อจัดการกับข้อมูลภาย List นี่เป็นโค้ดการทำงานของโปรแกรม โดยกำหนดให้
names = ['David', 'Johnny', 'Dennis', 'Jason']
# Example 5401
# เพิ่มข้อมูลเข้าไปใน List ด้วย เมธอด append()
# add 2 names to the end of the list
names.append('Andy')
names.append('Rene')
print(names)
เมื่อรันโปรแกรมจะได้ผลลัพธ์ ดังนี้
['David', 'Johnny', 'Dennis', 'Jason', 'Andy', 'Rene']
# Example 5402
# เพิ่มข้อมูลเข้าไปใน List ด้วย เมธอด insert()
# add a name at position 3
names.insert(2, 'Mike')
print(names)
เมื่อรันโปรแกรมจะได้ผลลัพธ์ ดังนี้
['David', 'Johnny', 'Mike', 'Dennis', 'Jason', 'Andy', 'Rene']
# Example 5403
# ลบข้อมูลใน List ด้วย เมธอด remove()
# remove 2 specific names
names.remove('David')
names.remove('Johnny')
print(names)
เมื่อรันโปรแกรมจะได้ผลลัพธ์ ดังนี้
['Mike', 'Dennis', 'Jason', 'Andy', 'Rene']
# Example 5404
# นำข้อมูลที่อยู่ท้ายสุดของ List ออก ด้วย เมธอด pop()
# pop the last item fro the list
print('Popped item =', names.pop())
print(names)
เมื่อรันโปรแกรมจะได้ผลลัพธ์ ดังนี้
Popped item = Rene
# Example 5405
# ลบข้อมูลออกจาก List ทั้งหมด ด้วย เมธอด clear()
# clear all items
names.clear()
print(names)
เมื่อรันโปรแกรมจะได้ผลลัพธ์ ดังนี้
[]
ถึงเวลาทดลองปฏิบัติเขียนโปรแกรมเพื่อแสดงความเข้าใจสักหน่อย
ข้อที่ 1 เขียนโปรแกรมรับตัวเลขจำนวนเต็ม 10 จำนวนที่ไม่ซ้ำกัน ทำการแสดงในรูปแบบของ List และให้เรียงลำดับจากน้อยไปมาก และมากไปน้อย
# Example 5406
fruits = ['banana', 'orange', 'apple', 'grape', 'apple', 'peach']
print(fruits)
print('%d apples in list' % fruits.count('apple'))
print('%d banana in list' % fruits.count('banana'))
print('Index of grape is %d' % fruits.index('grape'))
fruits.sort()
print('Sorted', fruits)
fruits.reverse()
print('Reversed', fruits)
ในตัวอย่าง 5406 เรามี List ในการเก็บรายชื่อของผลไม้ เมธอด count() ใช้สำหรับนับจำนวนออบเจ็คที่ตรงกันกับที่ระบุภายใน List เราได้ทำการนับ 'apple' และ 'banana' ใน List และแสดงจำนวนที่ได้ออกทางหน้าจอ เมธอด index() นั้นใช้สำหรับหาตำแหน่ง Index ของออบเจ็คตัวแรกที่พบใน List เราได้ใช้เมธอดเพื่อหา Index ของ 'grape' และแสดงผลตำแหน่งที่ได้
เมธอด sort() ใช้สำหรับเรียงข้อมูลภายใน List ตามตัวอักษรจากก่อนไปทีหลัง ในกรณีที่ข้อมูลใน List เป็นตัวเลขจะเป็นการเรียงจากน้อยไปหามากแทน คุณสามารถใช้ Keyword argument ที่ชื่อว่า reverse โดยกำหนดให้เป็น True หากต้องการเรียงจากมากไปหาน้อย ซึ่งโดยปกติแล้วค่านี้จะมีค่าเป็น False และเมธอด reverse() ใช้สำหรับย้อนกลับข้อมูลภายใน List จากตำแหน่งแรกไปตำแหน่งสุดท้ายและในทางกลับกัน
เมื่อรันโปรแกรมจะได้ผลลัพธ์ ดังนี้
['banana', 'orange', 'apple', 'grape', 'apple', 'peach']
2 apples in list
1 banana in list
Index of grape is 3
Sorted ['apple', 'apple', 'banana', 'grape', 'orange', 'peach']
Reversed ['peach', 'orange', 'grape', 'banana', 'apple', 'apple']