Python عدد السلسلة () مع الأمثلة

⚡ ملخص ذكي

Python الدالة `string count()` هي دالة مدمجة تُعيد عدد مرات ظهور حرف أو سلسلة فرعية في سلسلة نصية. يُمكن استخدام وسيطي `start` و`end` الاختياريين لتحديد جزء معين من النص.

  • 🔢 قيمة الإرجاع: تُرجع الدالة count() عددًا صحيحًا، وهو عدد العناصر غير المتداخلة.ping عدد مرات الظهور، أو 0 عندما يكون العنصر غائباً.
  • 🎯 البداية والنهاية: تحدد مؤشرات البداية والنهاية الاختيارية عدد العناصر في جزء محدد من السلسلة.
  • 🔠 حساسية القضية: يتم التعامل مع العد على أنه حساس لحالة الأحرف، لذا قم بتطبيعه باستخدام lower() أو upper() قبل مقارنة النصوص المختلطة في حالة الأحرف.
  • 📋 القوائم والصفوف: تقوم الدالة count() أيضًا بحساب عدد مرات ظهور عنصر ما داخل قائمة أو صف.
  • 🔁 التداخلات: تتجاوز الدالة count() التداخلping تتطابق النتائج، لذا فإن الدالة find() في حلقة تكرارية أو تعبير نمطي يعالج تلك الحالات.
  • 🤖 مساعدة الذكاء الاصطناعي: تقوم برامج المساعدة البرمجية المدعومة بالذكاء الاصطناعي بإنشاء منطق العد () وحساب ترددات الرموز المميزة لأغراض التعلم الآلي ومعالجة اللغة الطبيعية.

Python عدد السلاسل ()

ما هي تفاصيل Python عدد السلاسل النصية ()؟

استخدم عدد() الطريقة هي دالة مدمجة في Python تُعيد هذه الدالة العدد الإجمالي لمرات ظهور عنصر مُحدد في سلسلة نصية. يبدأ العد من بداية السلسلة ويستمر حتى نهايتها. يمكنك أيضًا تحديد فهرس البداية والنهاية اللذين ترغب في بدء البحث منهما.

بناء الجملة لـ Python عدد السلاسل ()

استخدم Python تستخدم دالة count() الخاصة بالسلاسل النصية الصيغة التالية:

string.count(char or substring, start, 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)

الإخراج:

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)

الإخراج:

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)

الإخراج:

The count of 'to' is 2
The count of 'to' usingstart/end is 1

Python دالة count() على قائمة

لا تقتصر دالة count() على السلاسل النصية. Python توفر القوائم والصفوف أيضًا دالة count() التي تُعيد عدد مرات ظهور عنصر مُحدد في التسلسل. على عكس دالة 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

الإخراج:

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

الإخراج:

2
3

لحساب التداخلping في حالة التطابقات، استخدم وحدة re مع تأكيد التطلع إلى الأمام، أو قم بالتكرار باستخدام طريقة find()، مع تحريك موضع البحث بمقدار حرف واحد بعد كل تطابق.

" تعلم المزيد عن Python طرق السلسلة

الأسئلة الشائعة

نعم. تقوم الدالة count() بمطابقة الأحرف تمامًا، لذا فإن "Hello".count("h") تُرجع 0 بينما "Hello".count("H") تُرجع 1. قم بتحويل السلسلة باستخدام lower() أو upper() أولاً عندما تحتاج إلى عد غير حساس لحالة الأحرف.

تُرجع الدالة count() القيمة 0 عندما لا يظهر الحرف أو السلسلة الفرعية في السلسلة. ولا تُصدر أي خطأ في حالة عدم وجود عنصر، مما يجعلها آمنة للاستخدام مباشرةً داخل الشروط والمقارنات.

تمرير سلسلة نصية فارغة يُعيد طول السلسلة زائد واحد، لأن Python يحسب عدد التطابقات الفارغة بين كل حرف وفي كلا الطرفين. بالنسبة لـ "abc"، تكون النتيجة 4.

لا، تقبل الدالة count() حرفًا واحدًا أو سلسلة فرعية واحدة في كل استدعاء. لحساب عدد كبير من الأحرف معًا، استخدم collections.Counter، الذي يُعيد تكرار كل حرف في السلسلة في عملية واحدة.

تُعيد الدالة count() عدد مرات ظهور سلسلة فرعية، بينما تُعيد الدالة find() فهرس أول ظهور لها، أو -1 في حال عدم وجودها. استخدم count() لحساب الإجماليات، و find() لتحديد موقعها.

نعم. دالة count() مُنفذة بلغة C، لذا فهي تفحص السلسلة بشكل أسرع بكثير من دالة مكافئة. Python حلقة التكرار for. يُفضل استخدام count() لسهولة القراءة والسرعة عندما تحتاج فقط إلى عناصر غير متداخلة.ping المجاميع.

تُنشئ مساعدات الذكاء الاصطناعي رموز count() و collections.Counter من خلال توجيهات بلغة بسيطة. في مجال التعلم الآلي ومعالجة اللغة الطبيعية، يُسهم عدّ تكرارات الكلمات أو الرموز في بناء خصائص مثل متجهات "حقيبة الكلمات" التي تستخدمها النماذج للتصنيف.

نعم. يقوم GitHub Copilot بإكمال استدعاءات count() تلقائيًا من تعليق قصير يصف هدفك. أما أدوات الذكاء الاصطناعي الوكيل فتتجاوز ذلك، حيث تكتب منطق العد، وتضيف وسيطات البداية والنهاية، وتُجري اختباراتك نيابةً عنك.

تلخيص هذه التدوينة بـ: