عداد بايثون: كيفية الاستخدام + 5 أمثلة

إذا كنت مطور ويب تتطلع إلى نقل مهاراتك في البرمجة إلى المستوى التالي، فلا شك أنك على دراية بأهم وظائف ومكتبات وأدوات Python.
ولكن، هناك أداة واحدة ربما لم تستكشفها بعد والتي يمكن أن تضيف قيمة هائلة إلى ترسانة الترميز الخاصة بك: Python Counter.
تحسب هذه الوحدة تكرارات العناصر في قائمة أو كائن آخر قابل للتكرار بسرعة وكفاءة.
في هذا المنشور، سنلقي نظرة عميقة على Python Counter، ونستكشف كيف يعمل وكيف يمكنك استخدامه لتبسيط التعليمات البرمجية الخاصة بك.
لذا، سواء كنت محترفًا متمرسًا أو مطور ويب جديدًا نسبيًا، تابع القراءة لاكتشاف كيف يمكنك الاستفادة من مكتبة Counter لتحسين مهاراتك في برمجة Python.
ما هو العداد في بايثون؟
العداد مكتبة Python تحسب تكرار العناصر في تسلسل. يقوم بإنشاء كائن يشبه القاموس يحسب تكرارات كل عنصر في قائمة أو مجموعة أو سلسلة.

إليك كيفية استيراد مكتبة العداد.
from collections import Counter
يأتي كائن العداد مزودًا بالعديد من الطرق المضمنة التي تساعد المستخدمين على تحديد عدد العناصر الموجودة في سلسلة أو دمج العديد من كائنات العداد معًا.
هذه الوظيفة هي أداة قوية في Python لمحللي البيانات والمبرمجين عبر مجموعة من الصناعات، بما في ذلك التمويل والتجزئة والتسويق وغير ذلك.
الآن بعد أن أصبحت على دراية بمكتبة Counter في Python، دعنا نستخدمها مع مثال تفاعلي.
كيفية استخدام العداد في بايثون
أولاً، دعنا نستورد مكتبة المجموعات عن طريق إدخال الكود التالي أعلى نص Python الخاص بك:
from collections import Counter
بعد ذلك، قم بإنشاء كائن مضاد عن طريق تمرير سلسلة من العناصر إلى وظيفة العداد. يمكن أن يكون التسلسل عبارة عن قائمة أو مجموعة أو حتى سلسلة.
يمكنك أيضًا إنشاء كائن عداد فارغ وإضافة عناصر إليه لاحقًا باستخدام طريقة () update.
my_list = [1, 1, 2, 3, 3, 3, 4, 4, 4, 4]
counter_obj = Counter(my_list)
print(counter_obj)
انتاج:
عداد ({4: 4، 3: 3، 1: 2، 2: 1})
يُظهر هذا الإخراج كائنًا يشبه القاموس حيث يتم تخزين كل عنصر فريد في التسلسل كمفتاح ويتم تخزين حسابه كقيمة. يمكنك اللعب بهذه الوظيفة في الوحدة التفاعلية أدناه.
لنلقِ نظرة على بعض الأمثلة الأخرى للكائن المضاد في بايثون.
أمثلة على عداد بايثون
توضح الأمثلة التالية الطرق المختلفة التي يمكنك استخدامها مع مكتبة العداد. يمكنك استخدام وحدة الشفرة التفاعلية أعلاه لاختبار كل واحدة، كما في المثال أدناه.

عد الأشياء
أحد الاستخدامات الأكثر شيوعًا لمكتبة العداد هو حساب عدد الكائنات في سلسلة أو مجموعة بيانات معينة. لهذه المهمة، يمكننا استخدام الكود التالي:
from collections import Counter
text_data = “This is an example of text data. It contains multiple words and sentences.”
words = text_data. split ()
word_count = Counter(words)
top_words = word_count. most_common (3)
print(top_words)
انتاج:
[(‘This’، 1) ، (‘is’، 1) ، (‘an’، 1)]
عد العناصر الأكثر شيوعًا
يمكنك أيضًا استخدام العداد بعدة طرق أخرى. على سبيل المثال، تعرض طريقة most_common () قائمة بالعناصر الأكثر شيوعًا وأعدادها بترتيب تنازلي.
للحصول على العنصرين الأكثر شيوعًا في كائن العداد، يمكنك استخدام الكود التالي:
from collections import Counter
my_list = [1, 1, 2, 3, 3, 3, 4, 4, 4, 4]
counter_obj = Counter(my_list)
print (counter_obj. most_common (2))
انتاج:
[(4، 4)، (3، 3)]
التكرار من خلال العناصر
ترجع طريقة العناصر () مكررًا على العناصر في التسلسل. يمكنك استخدامه للتكرار خلال العناصر وأهميتها:
from collections import Counter
my_list = [1, 1, 2, 3, 3, 3, 4, 4, 4, 4]
counter_obj = Counter(my_list)
for element, count in counter_obj. items ():
print(f”{element}: {count}”)
انتاج:
1: 2
2: 1
3: 3
4: 4
تحديث الكائنات
تسمح لك طريقة update () بدمج عناصر إضافية في كائن Counter. على سبيل المثال:
from collections import Counter
new_list = [4, 5, 5, 5]
counter_obj. update(new_list)
print(counter_obj)
انتاج:
عداد ({4: 5، 5: 3، 3: 3، 1: 2، 2: 1})
طرح الكائنات
تسمح لك طريقة طرح () بخصم عناصر من كائن عداد. على سبيل المثال، يستبدل هذا الرمز قيم z2 من قيم z1:
from collections import Counter
z1 = Counter (a=3, b=2, c=1)
z2 = Counter (a=1, b=2, c=3)
z1. subtract(z2)
print(z1)
انتاج:
عداد ({‘a’: 2، ‘b’: 0، ‘c’: -2})
استخدام العداد في بايثون
وحدة Counter هي أداة قوية ومتعددة الاستخدامات يمكنها تبسيط تشفير Python بشكل كبير، مما يسمح لك بحساب تكرارات العناصر في قائمة أو كائن آخر قابل للتكرار بسهولة ودقة أكبر.
من إنشاء مخططات الرسم البياني المخصصة إلى العثور على الكلمات الأكثر شيوعًا في ملف نصي، تحتوي مكتبة Python Counter على مجموعة واسعة من التطبيقات العملية للمطورين من جميع المستويات.
المصدر: hubspot
قد يهمك:
افضل مواقع شراء باك لينكس (Backlinks)