Blackhacker نشر 17 يناير 2016 أرسل تقرير نشر 17 يناير 2016 هل هنالك طريقة معينة للحصول على العنصر الشهير (الأكثر تكرارا) في سلسلة نصية معينة في بايثون؟ أريد دالة تعمل بهذه الطريقة:>>> most_common(['duck', 'duck', 'goose']) 'duck' >>> most_common(['goose', 'duck', 'duck', 'goose']) 'goose' اقتباس
0 هشام رزق الله نشر 17 يناير 2016 أرسل تقرير نشر 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 اقتباس
السؤال
Blackhacker
هل هنالك طريقة معينة للحصول على العنصر الشهير (الأكثر تكرارا) في سلسلة نصية معينة في بايثون؟ أريد دالة تعمل بهذه الطريقة:
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.