Python จำนวนสตริง () พร้อมตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
Python เมธอด `string count()` เป็นเมธอดในตัวที่ใช้สำหรับส่งคืนจำนวนครั้งที่อักขระหรือสตริงย่อยปรากฏในสตริง อาร์กิวเมนต์เสริม `start` และ `end` จะจำกัดการค้นหาให้เหลือเฉพาะส่วนใดส่วนหนึ่งของข้อความ

ความหมายของ Python นับจำนวนสตริง()?
การขอ นับ() เมธอดนี้เป็นฟังก์ชันในตัวใน Python ฟังก์ชันนี้จะคืนค่าจำนวนครั้งทั้งหมดที่องค์ประกอบที่กำหนดปรากฏในสตริง การนับจะเริ่มจากต้นสตริงและดำเนินต่อไปจนถึงท้ายสตริง คุณยังสามารถระบุตำแหน่งดัชนีเริ่มต้นและสิ้นสุดที่ต้องการให้การค้นหาเริ่มต้นได้ด้วย
ไวยากรณ์สำหรับ Python จำนวนสตริง()
การขอ Python ฟังก์ชัน string count() ใช้ไวยากรณ์ดังต่อไปนี้:
string.count(char or substring, start, end)
พารามิเตอร์
- อักขระหรือสตริงย่อย: อักขระเดี่ยวหรือสตริงย่อยที่คุณต้องการค้นหาในสตริงที่กำหนด ฟังก์ชัน count() จะส่งคืนจำนวนครั้งที่อักขระนั้นปรากฏในสตริง
- เริ่มต้น: (ไม่บังคับ) ระบุหมายเลขดัชนีเริ่มต้นที่จะใช้ในการค้นหา หากไม่ได้ระบุ จะเริ่มต้นจาก 0 ตัวอย่างเช่น เมื่อต้องการค้นหาอักขระจากตรงกลางสตริง คุณสามารถระบุค่าเริ่มต้นให้กับฟังก์ชันนับได้
- จบ: (ตัวเลือกเสริม) ระบุตำแหน่งดัชนีสุดท้ายที่การค้นหาจะสิ้นสุด หากไม่ได้ระบุ ระบบจะค้นหาจนถึงจุดสิ้นสุดของสตริง ตัวอย่างเช่น หากคุณไม่ต้องการสแกนสตริงทั้งหมดและต้องการจำกัดการค้นหาไว้ที่จุดใดจุดหนึ่ง คุณสามารถระบุค่า `end` ในฟังก์ชัน `count` ได้
ราคาย้อนกลับ
เมธอด `count()` จะส่งคืนค่าจำนวนเต็ม ซึ่งก็คือจำนวนขององค์ประกอบที่กำหนดในสตริงที่กำหนด หากไม่พบค่าดังกล่าวในสตริงที่กำหนด จะส่งคืนค่า 0
ตัวอย่างที่ 1: วิธีการนับบนสตริง
ตัวอย่างต่อไปนี้แสดงการทำงานของฟังก์ชัน count() กับสตริง
str1 = "Hello World"
str_count1 = str1.count('o') # counting the character “o” in the givenstring
print("The count of 'o' is", str_count1)
str_count2 = str1.count('o', 0,5)
print("The count of 'o' usingstart/end is", str_count2)
Output:
The count of 'o' is 2 The count of 'o' usingstart/end is 1
ตัวอย่างที่ 2: นับจำนวนครั้งที่ตัวอักษรปรากฏในสตริงที่กำหนด
ตัวอย่างต่อไปนี้แสดงการปรากฏของอักขระในสตริงที่กำหนด รวมถึงการใช้ดัชนีเริ่มต้นและดัชนีสิ้นสุดด้วย
str1 = "Welcome to Guru99 Tutorials!"
str_count1 = str1.count('u') # counting the character “u” in the given string
print("The count of 'u' is", str_count1)
str_count2 = str1.count('u', 6,15)
print("The count of 'u' usingstart/end is", str_count2)
Output:
The count of 'u' is 3 The count of 'u' usingstart/end is 2
ตัวอย่างที่ 3: นับจำนวนครั้งที่สตริงย่อยปรากฏในสตริงที่กำหนด
ตัวอย่างต่อไปนี้แสดงการปรากฏของสตริงย่อยในสตริงที่กำหนด รวมถึงการใช้ดัชนีเริ่มต้นและดัชนีสิ้นสุดด้วย
str1 = "Welcome to Guru99 - Free Training Tutorials and Videos for IT Courses"
str_count1 = str1.count('to') # counting the substring “to” in the givenstring
print("The count of 'to' is", str_count1)
str_count2 = str1.count('to', 6,15)
print("The count of 'to' usingstart/end is", str_count2)
Output:
The count of 'to' is 2 The count of 'to' usingstart/end is 1
Python เมธอด count() บนลิสต์
เมธอด count() ไม่ได้จำกัดเฉพาะสตริงเท่านั้น Python นอกจากนี้ ลิสต์และทูเพิลยังมีเมธอด `count()` ที่ส่งคืนจำนวนครั้งที่องค์ประกอบเฉพาะปรากฏในลำดับ ซึ่งแตกต่างจากเวอร์ชันสตริง เมธอด `list.count()` และ `tuple.count()` รับเฉพาะองค์ประกอบที่ต้องการค้นหาเท่านั้น และไม่รับอาร์กิวเมนต์ดัชนีเริ่มต้นหรือสิ้นสุด
fruits = ['apple', 'banana', 'apple', 'grape', 'apple']
print(fruits.count('apple')) # counts how many times 'apple' appears
numbers = (1, 2, 2, 3, 2)
print(numbers.count(2)) # count() also works on a tuple
Output:
3 3
เนื่องจากเมธอด `count()` ใช้ได้ทั้งกับสตริงและลำดับ ดังนั้นชื่อเมธอดเดียวกันจึงใช้ได้ไม่ว่าคุณจะนับจำนวนอักขระในข้อความหรือรายการที่ซ้ำกันในคอลเลกชันก็ตาม
วิธีการนับส่วนที่ทับซ้อนกันping เหตุการณ์ใน Python
เมธอด count() จะนับเฉพาะส่วนที่ไม่ทับซ้อนกันเท่านั้นping จำนวนครั้งที่พบสตริงย่อย เมื่อการจับคู่สามารถทับซ้อนกันได้ ฟังก์ชัน count() จะรายงานผลลัพธ์น้อยกว่าที่คุณคาดหวัง ตัวอย่างเช่น การนับ “aa” ภายใน “aaaa” จะคืนค่า 2 แทนที่จะเป็น 3 เนื่องจาก count() จะเลื่อนผ่านการจับคู่แต่ละรายการที่พบ
text = "aaaa"
print(text.count("aa")) # non-overlapping count is 2
import re
overlaps = len(re.findall("(?=(aa))", text))
print(overlaps) # overlapping count is 3
Output:
2 3
นับส่วนที่ทับซ้อนกันping หากต้องการค้นหาผลลัพธ์ที่ตรงกัน ให้ใช้โมดูล re ร่วมกับการตรวจสอบล่วงหน้า (lookahead assertion) หรือวนลูปด้วยเมธอด find() โดยเลื่อนตำแหน่งการค้นหาไปทีละตัวอักษรหลังจากพบผลลัพธ์ที่ตรงกันแต่ละครั้ง
» เรียนรู้เพิ่มเติมเกี่ยวกับ Python วิธีการสตริง
