เมธอด count() เป็นเมธอดที่มาพร้อมกับประเภทข้อมูลพื้นฐานหลายชนิดใน Python ทำให้คุณสามารถนับจำนวนครั้งที่ค่าเฉพาะปรากฏอยู่ในลำดับข้อมูล (sequence) นั้นๆ ได้อย่างสะดวกสบาย มาดูกันว่ามันทำงานอย่างไรในแต่ละบริบท:
1. string.count(): นับตัวอักษรหรือข้อความย่อยในสตริง
เมื่อคุณมีข้อความยาวๆ และต้องการทราบว่าตัวอักษรหรือคำบางคำปรากฏกี่ครั้ง เมธอด count() ของสตริงคือคำตอบที่ดีที่สุด
syntax
โค้ด: เลือกทั้งหมด
string.count(value, start=0, end=len(string))
- start (ไม่จำเป็น): ตำแหน่งเริ่มต้นที่คุณต้องการให้เริ่มนับ
- end (ไม่จำเป็น): ตำแหน่งสิ้นสุดที่คุณต้องการให้หยุดนับ
ตัวอย่าง
โค้ด: เลือกทั้งหมด
text = "การเขียนโปรแกรม Python เป็นเรื่องสนุกและ Python มีประโยชน์มาก"
# นับจำนวน 'ญ'
print(f"จำนวน 'ญ': {text.count('ญ')}")
# นับจำนวน 'Python'
print(f"จำนวน 'Python': {text.count('Python')}")
# นับจำนวน 'ป' ในช่วงตำแหน่งที่กำหนด (ตั้งแต่ตำแหน่งที่ 5 ถึง 20)
print(f"จำนวน 'ป' ในช่วง 5-20: {text.count('ป', 5, 20)}")
ลิสต์เป็นโครงสร้างข้อมูลที่ใช้บ่อยที่สุดใน Python การนับจำนวนครั้งที่สมาชิกซ้ำกันในลิสต์เป็นสิ่งจำเป็นสำหรับการวิเคราะห์ข้อมูลและจัดการคอลเลกชัน
syntax
โค้ด: เลือกทั้งหมด
list.count(value)
ตัวอย่าง:
โค้ด: เลือกทั้งหมด
student_scores = [85, 70, 92, 85, 78, 85, 90]
# นับจำนวนนักเรียนที่ได้ 85 คะแนน
print(f"จำนวนนักเรียนที่ได้ 85 คะแนน: {student_scores.count(85)}")
# นับว่ามีคะแนน 100 หรือไม่
print(f"จำนวนนักเรียนที่ได้ 100 คะแนน: {student_scores.count(100)}")
ทูเพิลก็เป็นลำดับข้อมูลคล้ายลิสต์ แต่ไม่สามารถเปลี่ยนแปลงได้ (immutable) เมธอด count() ในทูเพิลทำงานเหมือนกับในลิสต์ทุกประการ
syntax
โค้ด: เลือกทั้งหมด
tuple.count(value)
ตัวอย่าง
โค้ด: เลือกทั้งหมด
coordinates = (10, 20, 30, 20, 40, 20)
# นับจำนวน 20 ในทูเพิล
print(f"จำนวน 20 ในพิกัด: {coordinates.count(20)}")
# นับจำนวน 50 (ซึ่งไม่มีในทูเพิล)
print(f"จำนวน 50 ในพิกัด: {coordinates.count(50)}")
การทำความเข้าใจและใช้เมธอด count() อย่างเชี่ยวชาญจะมอบประโยชน์มากมายให้กับคุณ
- โค้ดที่อ่านง่ายและกระชับ: แทนที่จะเขียน for loop ซับซ้อนเพื่อวนนับทีละรายการ count() ช่วยให้คุณทำสิ่งเดียวกันได้ในโค้ดเพียงบรรทัดเดียว ทำให้โค้ดของคุณสะอาดและเข้าใจง่ายขึ้นมาก
- เพิ่มประสิทธิภาพการทำงาน: เมธอด count() ถูกพัฒนามาอย่างดีและมักจะทำงานได้เร็วกว่าการเขียนลูปด้วยตัวเอง โดยเฉพาะอย่างยิ่งเมื่อทำงานกับชุดข้อมูลขนาดใหญ่ เพราะถูกเขียนด้วยภาษา C ภายใน ทำให้การทำงานรวดเร็วและมีประสิทธิภาพ
- ลดข้อผิดพลาด: การใช้เมธอด built-in ช่วยลดโอกาสเกิดข้อผิดพลาดจากการเขียนโค้ดเอง เช่น การตั้งค่าเงื่อนไขผิดพลาดในการวนลูป
- เครื่องมือสำหรับการวิเคราะห์ข้อมูลเบื้องต้น: count() เป็นเครื่องมือแรกๆ ที่คุณควรนึกถึงเมื่อต้องการทำความเข้าใจความถี่ของข้อมูลในชุดข้อมูลของคุณ ไม่ว่าจะเป็นการนับคะแนนสอบ, คำศัพท์, หรือรายการสินค้า
ด้วยความง่ายในการใช้งานและประโยชน์ที่หลากหลาย count() จึงเป็นเมธอดพื้นฐานที่นักพัฒนา Python ทุกคนควรทำความเข้าใจและนำไปประยุกต์ใช้เพื่อทำให้โค้ดของคุณมีประสิทธิภาพและจัดการข้อมูลได้ดีมากยิ่งขึ้น
อ้างอิง
- viewtopic.php?t=38062
- https://www.mindphp.com/คู่มือ/73-คืออะ ... ออะไร.html
- https://www.mindphp.com/บทเรียนออนไลน์/ ... ython.html
- https://www.mindphp.com/บทเรียนออนไลน์/ ... mming.html
- viewtopic.php?t=90492