بکندباز

شمارش تعداد یک حرف در یک رشته در پایتون

رشته ای داریم که می خواهیم تعداد تکرار یک کاراکتر در آن رشته را شمارش کنیم. این عملیات خاص روی رشته در بسیاری از برنامه ها مانند حذف موارد تکراری یا شناسایی کاراکترهای ناخواسته کاملاً مفید است.

روش شماره 1: روش ابتدایی

در کل رشته برای آن کاراکتر خاص بچرخید و سپس وقتی با آن کاراکتر خاص مواجه شدید، شمارنده را افزایش دهید.

# Python3 code to demonstrate 
# occurrence frequency using 
# naive method 
  
# initializing string 
test_str = "backendbaz"
  
# using naive method to get count 
# counting a 
count = 0
  
for i in test_str:
    if i == 'a':
        count = count + 1
  
# printing result 
print ("Count of a in backendbaz is : "
                            +  str(count))

خروجی:

Count of a in backendbaz is : 2

 

روش شماره 2: استفاده از متد count()‎

استفاده از متد count()‎ متداول ترین روش در پایتون برای به دست آوردن تعداد تکرار هر عنصر در هر مجموعه ای است. کدنویسی و به خاطر سپردن آن آسان است و از این رو بسیار محبوب است.

# Python3 code to demonstrate 
# occurrence frequency using 
# count()‎
  
# initializing string 
test_str = "backendbaz"
  
# using count()‎ to get count 
# counting a 
counter = test_str.count('a')
  
# printing result 
print ("Count of a in backendbaz is : "
                           +  str(counter))

خروجی:

Count of a in backendbaz is : 2

 

روش شماره 3: استفاده از collections.Counter()‎

این روش کمتر شناخته شده برای دریافت تعداد تکرار عنصر در هر مجموعه در پایتون است. این نیز کاری مشابه دو روش بالا را انجام می دهد، فقط تابعی از یک کتابخانه متفاوت یعنی collections است.

# Python3 code to demonstrate 
# occurrence frequency using 
# collections.Counter()‎
from collections import Counter
  
# initializing string 
test_str = "backendbaz"
  
# using collections.Counter()‎ to get count 
# counting a 
count = Counter(test_str)
  
# printing result 
print ("Count of a in backendbaz is : "
                       +  str(count['a']))

خروجی:

Count of a in backendbaz is : 2

 

روش شماره 4: استفاده از لامبدا + sum()‎+map()‎

تابع لامبدا، همراه با تابع sum()‎ و تابع map()‎ می توانند این وظیفه خاص یعنی شمارش کل رخدادهای یک عنصر خاص در یک رشته را انجام دهند. از تابع sum()‎برای جمع زدن تمام پیدایش های به دست آمده با استفاده از map()‎ انجام می شود.

# Python3 code to demonstrate 
# occurrence frequency using 
# lambda + sum()‎ + map()‎
  
# initializing string 
test_str = "backendbaz"
  
# using lambda + sum()‎ + map()‎ to get count 
# counting a 
count = sum(map(lambda x : 1 if 'e' in x else 0, test_str))
  
# printing result 
print ("Count of a in backendbaz is : "
                            +  str(count))

خروجی:

Count of a in backendbaz is : 2

روش شماره 5: استفاده از re + findall()‎

عبارات منظم می توانند به ما در دستیابی به بسیاری از وظایف کدگذاری مربوط به رشته ها کمک کنند. آنها همچنین می توانند ما را در دستیابی به وظیفه یافتن وقوع کاراکتر در رشته تسهیل کنند.

# Python3 code to demonstrate 
# occurrence frequency using 
# re + findall()‎
import re
  
# initializing string 
test_str = "backendbaz"
  
# using re + findall()‎ to get count 
# counting a 
count = len(re.findall("e", test_str))
  
# printing result 
print ("Count of a in backendbaz is : "
                            +  str(count))

خروجی:

Count of a in backendbaz is : 2
برچسب‌ها:
zohreh

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*

    user-tWW0 پاسخ

    خیلی عالی بود ممنون.