تتمثل إحدى المهام الرئيسية في معالجة البيانات النصية في تحليل تكرار الأحرف في سلسلة. في لغة برمجة بايثون ، يمكن حل هذه المشكلة بعدة طرق. في هذه المقالة ، سننظر في واحدة من أبسط الطرق وأكثرها فعالية لحساب عدد مرات تكرار الحرف في سلسلة.
لحل هذه المشكلة ، سوف نستخدم وظيفة العد () المضمنة. تأخذ هذه الوظيفة وسيطة واحدة-حرف يحتاج إلى حساب في سلسلة ، ويعيد عدد مرات تكراره. لحساب جميع الأحرف في سلسلة ، نحتاج إلى استعراض جميع الأحرف في السلسلة واستدعاء وظيفة العد () لكل حرف.
طباعة (عدد)
في هذا المثال ، نقوم بإنشاء السلسلة "مرحبا بالعالم" واستدعاء وظيفة العد() لحساب عدد مرات تكرار الحرف "إل". بعد ذلك ، تقوم الدالة بإرجاع الرقم 3 ، حيث يتم تكرار الحرف 'ل' ثلاث مرات في السلسلة.
باستخدام هذا النهج البسيط ، يمكنك بسهولة وكفاءة حساب عدد مرات تكرار حرف في سلسلة بايثون.
- جدول المحتويات:
- طريقة العد ()
- يستخدم حلقة
- وظيفة العداد ()
- من التعبيرات العادية
- سؤال وجواب
- كيف أحسب عدد مرات تكرار حرف واحد في سلسلة?
- كيف يمكنني حساب عدد مرات تكرار حرف في سلسلة دون استخدام طريقة العد ()?
- هل من الممكن حساب عدد مرات تكرار عدة أحرف في سلسلة باستخدام طريقة واحدة?
جدول المحتويات:
- مقدمة
- عدد()
- طريقة لطريقة حلقة
- المجموعات.طريقة العداد ()
- يقارن الأساليب ويختار الأكثر فعالية
- خاتمة
طريقة العد ()
يتم استخدام طريقة العد بيثون () لحساب عدد التكرار من حرف أو سلسلة فرعية في سلسلة. هذه الطريقة هي أداة ملائمة لتحليل النص ومعالجة المعلومات.
بناء جملة طريقة العد () كما يلي:
شارع.العد (الفرعية [،بداية [،نهاية]])أين:
- شارع هو سلسلة للبحث في
- حرف فرعي أو سلسلة فرعية ، يجب حساب عدد مرات التكرار
- ابدأ (اختياري) - الفهرس الذي يبدأ منه البحث
- نهاية (اختياري) - الفهرس الذي ينتهي به البحث (لا يشمل هذا الفهرس
) ترجع طريقة العد () عدد مرات تكرار الحرف أو السلسلة الفرعية في السلسلة. إذا لم يتم العثور على الحرف أو السلسلة الفرعية ، ترجع الطريقة 0.
مثال على استخدام طريقة العد () لحساب عدد مرات تكرار الحرف ' أ ' في سلسلة:
النص = "بايثون هي لغة برمجة"
العد = النص.العد ('أ')
طباعة (العد) # المخرجات: 2
في هذا المثال ، تجد طريقة العد () الحرف' أ ' مرتين في سلسلة وإرجاع النتيجة 2.
يمكنك أيضا استخدام طريقة العد () لحساب عدد التكرارات لسلسلة فرعية في سلسلة:
النص = "بايثون هي لغة برمجة"
العد = النص.العد ('جي')
طباعة (العد) # المخرجات: 1
في هذا المثال ، تجد طريقة العد () السلسلة الفرعية 'جي' مرة واحدة في سلسلة وإرجاع النتيجة 1.
يمكن استخدام طريقة العد () لتحليل البيانات والبحث عن أحرف أو سلاسل فرعية محددة في السلاسل وتنفيذ مهام معالجة النصوص الأخرى.
باستخدام حلقة
لحساب عدد مرات تكرار حرف في سلسلة بايثون ، يمكنك استخدام حلقة. في هذه الحالة ، ضع في اعتبارك استخدام الحلقة.
- دعونا إنشاء متغير الذي سنقوم بتخزين عدد من التكرار من الرمز.
- نذهب من خلال كل حرف في السلسلة باستخدام حلقة.
- إذا كان الحرف الحالي يطابق الحرف المحدد ، فقم بزيادة العداد بمقدار واحد.
- في نهاية الدورة ، نحصل على عدد مرات تكرار الرمز.
Ниже приведен пример кода на языке بيثون ، который иллюстрирует использование цикла для подсчета количества повторений символа в строке:
صفر العد_تكر_تكرارات (سلسلة ، شار):
العد = 0
ل الصورة في سلسلة:
إذا س = = شار:
عدد + = 1
عد العودة
سلسلة = " مرحبا ، العالم!"
شار = "س"
التكرارات = عدد التكرارات (سلسلة، حرف)
طباعة (و " الحرف '{شار}' يحدث {تكرارات} مرات في السلسلة ' {سلسلة}'.")
، والذي يأخذ سلسلة وحرفا ، ويعيد عدد مرات تكرار الحرف في السلسلة. ثم نحدد السلسلة والحرف الذي نريد لحساب عدد من التكرار ، واستدعاء وظيفة. يتم عرض النتيجة على الشاشة.
ستكون نتيجة تنفيذ هذا الرمز كما يلي:
| الرمز | الخط | عدد التكرار |
|---|---|---|
| 'س' | 'مرحبا ، العالم!’ | 2 |
لذلك كنا قادرين على حساب عدد التكرار من' س ' حرف في سلسلة 'مرحبا ، العالم!'باستخدام ل حلقة.
وظيفة العداد () هي جزء من وحدة المجموعات في بايثون وتوفر طرقا ملائمة لحساب تكرار العناصر في المجموعة. يقوم بإرجاع قاموس حيث يرتبط كل عنصر من عناصر المجموعة بعدد مرات التكرار.
يمكن استخدام هذه الوظيفة لحساب تكرار الأحرف في سلسلة. للقيام بذلك ، تحتاج إلى تمرير سلسلة كوسيطة.
مثال على استخدام وظيفة العداد () لحساب تكرار الأحرف في سلسلة:
من مجموعات استيراد العداد
صفر العد_الأحرف (سلسلة):
عودة العداد (سلسلة)
س = " مرحبا ، العالم!"
طباعة (عد_شخصيات)
نتيجة لتنفيذ التعليمات البرمجية ، فإنه سيتم إخراج:
{'ح': 1 ، 'ه': 1 ، 'ل': 3 ، 'س': 2, ',': 1, ' ': 1, 'ث': 1 ، 'ص': 1 ، 'د': 1،'!': 1}
كما ترى من النتيجة ، تقوم وظيفة العداد() بإرجاع قاموس يرتبط فيه كل حرف من السلسلة بعدد مرات تكراره. في هذه الحالة ، الحرف " ل "يحدث 3 مرات ، الحرف" س " يحدث 2 مرات ، والأحرف الأخرى تحدث مرة واحدة.
التعبيرات العادية
التعبيرات العادية هي أداة قوية للعمل مع النص. إنها تسمح لك بالبحث عن أنماط معينة وإجراء عمليات مختلفة باستخدام السلاسل المقابلة لها.
. توفر هذه الوحدة وظائف وطرق للعمل مع التعبيرات العادية.
:
- , الذي يحتوي على معلومات حول المباراة.
- ، إذا لم يتم العثور على تطابق.
- . إرجاع قائمة بالمطابقات التي تم العثور عليها.
- .
تستخدم التعبيرات العادية في بايثون أحرفا وتركيبات خاصة لتحديد الأنماط:
- شخصيات خاصة:
- المحددات الكمية:
- المجموعات والتناوب:
Пример использования регулярных выражений для подсчета количества повторений символа в строке:
استيراد إعادة
صفر العد_الخصائص _ التكرارات (سلسلة ، حرف):
نمط = إعادة.الهروب (حرف)
الحوادث = إعادة.فيندال (نمط ، سلسلة)
عودة لين (الحوادث)
سلسلة = " مرحبا ، العالم!"
حرف = "س"
التكرارات = العد_الخصائص _ التكرارات(سلسلة ، حرف)
طباعة (و " الحرف '{حرف}' يحدث في سلسلة '{سلسلة}' {تكرارات} مرات.")
. يتم عرض النتيجة على الشاشة.
نتيجة لتنفيذ هذا الرمز ، سيكون الإخراج:
حرف ' س ' يحدث في سلسلة 'مرحبا ، العالم!'2 مرات.
قبل البحث عنه. هذا يتجنب تفسير الرمز كحرف تعبير عادي خاص.
سؤال وجواب
كيف أحسب عدد مرات تكرار حرف واحد في سلسلة?
لحساب عدد مرات تكرار حرف واحد في سلسلة بايثون ، يمكنك استخدام طريقة العد (). على سبيل المثال ، إذا أردنا حساب عدد مرات تكرار الحرف 'أ' في السلسلة 'موز' ، يمكننا كتابة الكود التالي: العد = 'موز'.العد ('أ'). ستكون النتيجة 3 ، لأن الحرف ' أ ' يحدث ثلاث مرات في السلسلة.
كيف يمكنني حساب عدد مرات تكرار حرف في سلسلة دون استخدام طريقة العد ()?
إذا كنت لا ترغب في استخدام طريقة العد() لحساب عدد مرات تكرار حرف في سلسلة في بايثون ، يمكنك استخدام حلقة وعداد. على سبيل المثال ، فإن التعليمات البرمجية التالية تسمح لك لحساب عدد من التكرار من الحرف 'أ' في سلسلة 'الموز': عدد = 0 ؛ لشار في 'الموز': إذا شار == 'أ': عدد += 1. ستكون النتيجة هي نفسها-3 ، لأن الحرف ' أ ' يحدث ثلاث مرات في السلسلة.
هل من الممكن حساب عدد مرات تكرار عدة أحرف في سلسلة باستخدام طريقة واحدة?
نعم ، يمكنك. إذا كنت تريد حساب عدد مرات تكرار عدة أحرف في كل سطر في بايثون ، فيمكنك استخدام التعبيرات العادية. على سبيل المثال ، فإن التعليمات البرمجية التالية تسمح لك لحساب عدد من التكرار من الأحرف 'أ' و 'ب' في سلسلة 'الموز': استيراد إعادة ؛ العد = لين(إعادة.فيندال ('[أب] ' ، 'الموز')). ستكون النتيجة 5 ، لأن الأحرف ' أ ' و ' ب ' تحدث خمس مرات في السلسلة.