Blackhacker نشر 17 يناير 2016 هل هنالك طريقة معينة للحصول على العنصر الشهير (الأكثر تكرارا) في سلسلة نصية معينة في بايثون؟ أريد دالة تعمل بهذه الطريقة:>>> most_common(['duck', 'duck', 'goose']) 'duck' >>> most_common(['goose', 'duck', 'duck', 'goose']) 'goose' انشر على الشّبكات الاجتماعية رابط هذه المساهمة
0 هشام رزق الله نشر 17 يناير 2016 يوجد العديد من الطرق لفعل هذا في بايثون، بعضها طويلا ومعقد للغاية وبعضها قصيرا، فيمكنك على سبيل المثال إنشاء دالة بسطر واحد تحتوي على دوال مدمجة متنوعة مثل max وset كما يظهر في هذه الدالة:def most_common(lst): return max(set(lst), key=lst.count) وإذا كنت تستخدم الإصدار 2.7 من بايثون فيمكنك في هذه الحالة استخدام دالة Counter من مكتبة collections لإنشاء دالة قصيرة جدا وسريعة جدا (أسرع بكثير من المثال السابق) كما في المثال التالي:from collections import Counter def Most_Common(lst): data = Counter(lst) return data.most_common(1)[0][0 انشر على الشّبكات الاجتماعية رابط هذه المساهمة
هل هنالك طريقة معينة للحصول على العنصر الشهير (الأكثر تكرارا) في سلسلة نصية معينة في بايثون؟ أريد دالة تعمل بهذه الطريقة:
انشر على الشّبكات الاجتماعية
رابط هذه المساهمة