يعد حساب عدد العناصر المتطابقة في القائمة مهمة يواجهها العديد من مطوري بايثون. يمكن أن يكون هذا مفيدا ، على سبيل المثال ، عند تحليل البيانات أو معالجة كميات كبيرة من المعلومات. هناك عدة طرق لحل هذه المشكلة ، ولكن واحدة من أبسطها هي استخدام وظيفة العد() لفئة القائمة المضمنة في بايثون.
تقوم طريقة العد() بإرجاع عدد مرات تكرار العنصر المحدد في القائمة. على سبيل المثال ، إذا كان لديك قائمة بالأرقام [1, 2, 2, 3, 2, 4, 2], وتريد معرفة عدد المرات التي يتكرر فيها الرقم 2 في هذه القائمة ، يمكنك استخدام طريقة العد () على النحو التالي:
أرقام = [1, 2, 2, 3, 2, 4, 2]
العد = الأرقام.عدد (2)
طباعة (عدد) # سوف إخراج 4
تتيح لك هذه الطريقة البسيطة حساب عدد العناصر المتطابقة في القائمة بسهولة وسرعة. ومع ذلك ، يجب ألا يغيب عن البال أن طريقة العد() تبحث فقط عن التطابقات الدقيقة للعناصر. إذا كنت بحاجة إلى معرفة عدد العناصر التي تنتمي إلى نفس الفئة ، على سبيل المثال ، عدد الصفوف أو عدد الأرقام ، فإن هذه الطريقة غير مناسبة. في مثل هذه الحالات ، يجدر الانتباه إلى طرق ومكتبات بايثون الأخرى التي يمكن أن توفر عد عناصر أكثر مرونة ودقة.
- الطريقة 1: استخدام الحلقة (التكرار من خلال القائمة والعداد)
- الطريقة 2: استخدام العد()
- الطريقة 3: استخدام المجموعات.عداد () وحدة
- الطريقة 4: استخدام القاموس لتخزين العناصر وكميتها
- الطريقة 5: استخدام وظيفة غروببي () من وحدة إيترتولس
- الطريقة 6: استخدام مكتبة الباندا
- سؤال وجواب
- كيف أحسب عدد العناصر المتطابقة في القائمة?
- ما هي البيانات التي يمكن استخدامها كعناصر قائمة?
- هل من الممكن حساب عدد العناصر من نوع معين فقط?
- كيف يمكنني الحصول على قائمة من العناصر الفريدة من قائمة مع التكرار?
- هل هناك طريقة أكثر فعالية لحساب عدد العناصر المتطابقة في القائمة?
الطريقة 1: استخدام الحلقة (التكرار من خلال القائمة والعداد)
لحساب عدد من البنود متطابقة في قائمة في بيثون ، يمكنك استخدام لحلقة وعداد. هذه الطريقة بسيطة ومفهومة حتى بالنسبة للمبرمجين المبتدئين.
إليك ما يبدو عليه رمز حساب العناصر المتطابقة:
عدد العناصر:
# إنشاء قاموس فارغ لعناصر العد
عد_مرسوم = {}
# التكرار من خلال القائمة
للعنصر في ضريبة القيمة المضافة:
# إذا كان العنصر موجودا بالفعل في القاموس ، فقم بزيادة عداده بمقدار 1
إذا كان العنصر في العد:
العد_مرسوم [عنصر] + = 1
# إذا لم يكن العنصر في القاموس ، فأضفه بعداد 1
آخر:
العد_مرسوم [عنصر] = 1
# إرجاع قاموس بعناصر محسوبة
عودة العد_مرسوم
# مثال على استخدام وظيفة قائمتي
= [1, 2, 3, 1, 2, 3, 4, 5, 1, 2]
عدد العناصر = عدد العناصر(قائمتي)
# عرض النتيجة على الشاشة
بالنسبة للعنصر ، عد في عدد العناصر.البنود():
طباعة (و " {العنصر}: {العد}")
ستكون نتيجة تنفيذ هذا الرمز:
1: 3
2: 3
3: 2
4: 1
5: 1
يأخذ قائمة كوسيطة وإرجاع القاموس ، حيث المفاتيح هي عناصر فريدة من القائمة ، والقيم هي عدد من التكرار. ثم ، يتم عرض القاموس الناتج بأكمله باستخدام ل حلقة.
وبالتالي ، فإن استخدام حلقة وعداد يجعل من السهل والفعال حساب عدد العناصر المتطابقة في قائمة في بايثون.
الطريقة 2: استخدام طريقة العد ()
هناك طريقة أخرى بسيطة لحساب عدد العناصر المتطابقة في قائمة في بايثون وهي استخدام طريقة العد المضمنة (). ترجع هذه الطريقة عدد مرات حدوث قيمة معينة في القائمة.
لاستخدام طريقة العد () ، ما عليك سوى تمرير العنصر الذي تريد العثور على الكمية داخل أقواس الطريقة. على سبيل المثال:
قائمتي = [1, 2, 3, 4, 4, 4, 5]
العد=قائمتي.عدد (4)
طباعة (عدد)
في هذا المثال ، أنشأنا قائمة قائمتي التي تحتوي على عدة قيم مكررة. ثم استخدمنا طريقة العد () لحساب عدد مرات تكرار الرقم 4 في هذه القائمة. ستكون النتيجة 3 ، لأن الرقم 4 يحدث ثلاث مرات.
يمكنك أيضا استخدام طريقة العد () لحساب عدد مرات تكرار سلسلة أو حرف أو أي عنصر آخر. على سبيل المثال:
قائمتي = ['التفاح' ، 'الموز' ، 'التفاح' ، 'الكرز' ، 'التفاح']
العد=قائمتي.العد ('أبل')
طباعة (عدد)
في هذا المثال ، أنشأنا قائمة قائمتي التي تحتوي على عدة قيم سلسلة مكررة. ثم استخدمنا طريقة العد () لحساب عدد مرات تكرار السلسلة 'تفاحة' في هذه القائمة. ستكون النتيجة 3 ، لأن سلسلة ' أبل ' يحدث ثلاث مرات.
وبالتالي ، فإن استخدام طريقة العد () هو طريقة بسيطة وفعالة لحساب عدد العناصر المتطابقة في قائمة في بايثون.
الطريقة 3: باستخدام المجموعات.عداد () وحدة
بيثون لديه المدمج في وحدة المجموعات التي تحتوي على حاويات مع خوارزميات معالجة البيانات عالية الكفاءة. واحدة من هذه الحاويات هي العداد. ويوفر القدرة على حساب عدد العناصر في قائمة مع الحد الأدنى من التعليمات البرمجية.
لاستخدام المجموعات.وحدة العداد () ، يجب عليك أولا استيرادها:
من مجموعات استيراد العدادثم يمكنك إنشاء كائن عداد عن طريق تمرير قائمة إليه:
قائمتي = [1, 2, 3, 1, 2, 1]
عداد = عداد (قائمتي)
في هذه الحالة ، سيقوم العداد بإنشاء قاموس حيث تكون المفاتيح قيما فريدة من القائمة ، والقيم هي عدد التكرارات لكل قيمة.
مثال الاستخدام:
طباعة (عداد [1]) # المخرجات: 3
طباعة (عداد [2]) # المخرجات: 2
طباعة (عداد [3]) # المخرجات: 1
تتيح لك الطريقة الأكثر شيوعا () الحصول على العناصر الأكثر شيوعا:
طباعة (عداد.الأكثر شيوعا (2)) # المخرجات: [(1, 3), (2, 2)]في هذا المثال ، سيتم عرض العناصر الأكثر شيوعا 2 كقائمة من الصفوف ، حيث العنصر الأول هو قيمة العنصر ، والعنصر الثاني هو عدد التكرار.
باستخدام المجموعات.مكافحة () وحدة يجعل من السهل والفعال لحساب عدد من البنود متطابقة في القائمة. هذه طريقة مريحة وسريعة لحل هذه المشكلة دون الحاجة إلى كتابة المزيد من التعليمات البرمجية.
الطريقة 4: استخدام القاموس لتخزين العناصر وكميتها
هناك طريقة أخرى لحل مشكلة حساب عدد العناصر المتطابقة في قائمة في بايثون وهي استخدام القاموس. يسمح لك القاموس بتخزين العناصر في شكل مفاتيح وربط القيم بها. في هذه الحالة ، سنستخدم عناصر القائمة كمفاتيح ، وستكون القيم هي عدد مرات حدوث كل عنصر في القائمة.
ستبدو عملية العد كما يلي:
- لنقم بإنشاء قاموس فارغ
- دعنا نذهب من خلال كل عنصر من عناصر القائمة
- إذا كان العنصر موجودا بالفعل في القاموس ، فقم بزيادة قيمته بمقدار 1
- إذا لم يكن العنصر في القاموس ، فأضفه كمفتاح بالقيمة 1
- دعونا عرض محتويات القاموس على الشاشة
مثال على الكود:
عدد العناصر:
عد_مرسوم = {}
للعنصر في ضريبة القيمة المضافة:
إذا كان العنصر في العد:
العد_مرسوم [عنصر] + = 1
آخر:
العد_مرسوم [عنصر] = 1
عودة العد_مرسوم
# مثال على استخدام وظيفة قائمتي
= [1, 2, 3, 2, 1, 3, 3, 4, 5, 4, 4]
النتيجة = العد_العناصر(قائمتي)
طباعة (نتيجة)
نتيجة لتنفيذ هذا الرمز ، سيتم استلام الإخراج التالي:
{1: 2, 2: 2, 3: 3, 4: 3, 5: 1}
وهذا يعني أنه في القائمة الأصلية ، العناصر 1 و 2 تحدث 2 مرات ، العناصر 3 و 4 تحدث 3 مرات ، والعنصر 5 يحدث فقط 1 مرة.
يعد استخدام القاموس لتخزين العناصر وعددها طريقة فعالة ومريحة لحساب العناصر المكررة في قائمة بايثون.
الطريقة 5: استخدام وظيفة غروببي () من وحدة إيترتولس
توفر وحدة إيترتولز مجموعة من الوظائف المفيدة للعمل مع الكائنات التكرارية في بيثون. واحدة من هذه الوظائف هي مجموعة(). يسمح لك بتجميع عناصر كائن متكرر بناء على مفتاح معين.
لاستخدام وظيفة تجميع () لحساب عدد العناصر المتطابقة في القائمة ، اتبع الخطوات التالية:
- استيراد وحدة إيترتولس: استيراد إيترتولس.
- قم بإنشاء قائمة تريد تحليلها: قائمتي = [1, 2, 3, 3, 3, 4, 4, 5].
- فرز القائمة بحيث تكون العناصر من نفس القيمة بجانب بعضها البعض: قائمتي.فرز ().
- استخدم وظيفة تجميع () ، وتمرير القائمة لتجميع العناصر: قائمة مجمعة = أدوات تكرارية.مجموعة (قائمتي).
- كرر من خلال المجموعات وإخراج النتيجة:
Пример кода:
import itertools
my_list = [1, 2, 3, 3, 3, 4, 4, 5]
my_list.sort()
grouped_list = itertools.groupby(my_list)
for key, group in grouped_list:
elements = list(group)
count = len(elements)
print(f'{key}: {count}')
نتيجة لتنفيذ التعليمات البرمجية ، سيتم إخراج ما يلي:
1: 1
2: 1
3: 3
4: 2
5: 1
وهكذا ، نحصل على عدد من العناصر متطابقة في القائمة باستخدام وظيفة غروببي() من وحدة إيترتولس.
الطريقة 6: استخدام مكتبة الباندا
هناك طريقة أخرى لحساب عدد العناصر المتطابقة في قائمة في بايثون وهي استخدام مكتبة الباندا. الباندا يوفر وظائف مريحة وقوية للعمل مع البيانات في شكل جداول.
أولا ، تحتاج إلى استيراد مكتبة الباندا:
استيراد الباندا كما بدثم قم بإنشاء كائن سلسلة عن طريق تمرير قائمة القيم إليه:
البيانات = بد.سلسلة([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])لحساب عدد عناصر كل قيمة ، يمكننا استخدام طريقة حساب القيمة (). يقوم بإرجاع كائن سلسلة جديد مع فهارس تتوافق مع القيم الفريدة للقائمة والقيم التي تمثل عدد مرات تكرارها:
النتيجة = البيانات.قيمة_حسابات()نتيجة لذلك ، نحصل على الجدول التالي:
| المعنى | الكمية |
|---|---|
| 4 | 4 |
| 3 | 3 |
| 2 | 2 |
| 1 | 1 |
وبالتالي ، حصلنا على عدد التكرارات لكل عنصر قائمة فريد.
تسمح لك طريقة حساب القيمة () أيضا بفرز النتائج حسب عدد التكرارات عن طريق إضافة معلمة فرز القيم() مع الوسيطة التصاعدية = الخاطئة:
النتيجة = البيانات.عدد القيم ().قيم الفرز (تصاعدي = خطأ)سيتم فرز النتيجة بترتيب تنازلي لعدد التكرارات:
| المعنى | الكمية |
|---|---|
| 4 | 4 |
| 3 | 3 |
| 2 | 2 |
| 1 | 1 |
يتيح لك استخدام مكتبة الباندا الحصول على عدد العناصر المتطابقة في القائمة بشكل مرئي ومريح ، بالإضافة إلى إجراء عمليات إضافية على البيانات.
سؤال وجواب
كيف أحسب عدد العناصر المتطابقة في القائمة?
لحساب عدد العناصر المتطابقة في القائمة ، يمكنك استخدام وظيفة` العد ()':
ما هي البيانات التي يمكن استخدامها كعناصر قائمة?
يمكن استخدام أي بيانات كعناصر قائمة: أعداد صحيحة ، سلاسل ، قوائم ، مجموعات ، إلخ.
هل من الممكن حساب عدد العناصر من نوع معين فقط?
نعم ، يمكنك. للقيام بذلك ، يمكنك استخدام حلقة والتحقق من نوع كل عنصر قبل العد.
كيف يمكنني الحصول على قائمة من العناصر الفريدة من قائمة مع التكرار?
للحصول على قائمة من العناصر الفريدة من قائمة مع التكرار ، يمكنك استخدام وظيفة `مجموعة ()` ، الذي يزيل العناصر المكررة تلقائيا.
هل هناك طريقة أكثر فعالية لحساب عدد العناصر المتطابقة في القائمة?
نعم، هناك طرق أكثر فعالية لحساب عدد العناصر المتطابقة في القائمة ، على سبيل المثال ، باستخدام قاموس أو وحدة 'المجموعات`. ومع ذلك ، فإن طريقة بسيطة باستخدام وظيفة `العد()` هو أبسط وأكثر مفهومة للمبتدئين.