عند العمل مع المصفوفات في بايثون ، قد تنشأ مهمة البحث عن العنصر الذي يحدث في المصفوفة أكبر عدد من المرات. يمكن أن تكون هذه المهمة مفيدة في مختلف المجالات ، على سبيل المثال ، في تحليل البيانات أو في خوارزميات التعلم الآلي.
لحل هذه المشكلة في بيثون ، يمكنك استخدام أساليب مختلفة. أحد هذه الأساليب هو استخدام ديكت لحساب عدد التكرارات لكل عنصر. من خلال حساب عدد التكرارات ، يمكنك العثور على العنصر بأقصى عدد من التكرارات.
نهج آخر هو استخدام المدمج في ماكس () وظيفة وطريقة العد () للعثور على العنصر مع الحد الأقصى لعدد التكرار. أولا ، باستخدام طريقة العد () ، يتم حساب عدد التكرارات لكل عنصر في المصفوفة ، ثم تعثر الوظيفة القصوى () على العنصر الذي يحتوي على أكبر عدد من التكرارات.
- كيفية العثور على عنصر مكرر في مصفوفة بايثون
- 1. باستخدام القاموس
- 2. باستخدام متعددة
- 3. استخدام قائمة الادراج
- 4. باستخدام وحدة المجموعات
- الخوارزمية للعثور على العنصر الأكثر تكرارا
- سؤال وجواب
كيفية العثور على عنصر مكرر في مصفوفة بايثون
في لغة برمجة بايثون ، هناك طرق مختلفة للعثور على عنصر متكرر في مصفوفة. يتم وصف بعضها أدناه.
1. باستخدام القاموس
واحدة من أكثر الطرق فعالية للعثور على عنصر مكرر في صفيف هو استخدام ديكت. يمكننا تكرار من خلال عناصر مجموعة واستخدامها كمفاتيح القاموس. ستكون قيمة كل مفتاح هي عدد مرات تكرار العنصر في المصفوفة.
مواطنه العثور على نسخة مكررة (أرقام):
التهم = {}
للاسطوانات في نومس:
إذا الأسطوانات في التهم:
التهم [الأسطوانات] + = 1
آخر:
التهم [الأسطوانات] = 1
للمفتاح ، القيمة في التهم.البنود():
إذا كانت القيمة > 1:
مفتاح العودة
2. باستخدام متعددة
هناك طريقة أخرى للعثور على عنصر مكرر في صفيف وهي استخدام مجموعة. يمكننا التكرار من خلال المصفوفة وإضافة كل عنصر إلى المجموعة. إذا كان هناك عنصر موجود بالفعل في المجموعة ، فهذا يعني أنه يتكرر.
مواطنه العثور على نسخة مكررة (أرقام):
رأيت = مجموعة ()
للاسطوانات في نومس:
إذا الأسطوانات في ينظر:
عودة الأسطوانات
رأيت.إضافة (الأسطوانات)
3. استخدام قائمة الادراج
قائمة الادراج هي وسيلة مدمجة وفعالة لإنشاء قائمة جديدة استنادا إلى قائمة موجودة. يمكننا استخدام إدراج القائمة لإنشاء قائمة بالعناصر التي تتكرر في المصفوفة الأصلية ، ثم إرجاع العنصر الأول من هذه القائمة.
مواطنه العثور على نسخة مكررة (أرقام):
التكرارات = [س ل س في نومس إذا نومس.عدد(س) > 1]
عودة التكرارات [0] إذا التكرارات آخر لا شيء
4. باستخدام وحدة المجموعات
توفر وحدة المجموعات هياكل بيانات متنوعة يمكن أن تكون مفيدة عند العمل مع العناصر المكررة. في هذه الحالة ، يمكننا استخدام العداد لإنشاء قاموس ، ثم العثور على العنصر الذي يحتوي على أعلى قيمة في القاموس.
من مجموعات استيراد العداد
مواطنه العثور على نسخة مكررة (أرقام):
التهم = العداد (الأرقام)
العودة ماكس(التهم ، مفتاح = التهم.الحصول على)
هذه ليست سوى بعض الطرق للعثور على عنصر مكرر في مصفوفة بايثون. يعتمد اختيار الطريقة المناسبة على الموقف المحدد وتفضيلات المطور.
الخوارزمية للعثور على العنصر الأكثر تكرارا
في بايثون ، هناك عدة طرق للعثور على العنصر الأكثر تكرارا في المصفوفة. دعونا نفكر في واحد منهم:
قم بإنشاء قاموس فارغ حيث تكون المفاتيح هي عناصر المصفوفة والقيم هي عدد مرات تكرار العناصر.
انتقل من خلال كل عنصر من عناصر المصفوفة:
إذا كان العنصر موجودا بالفعل في القاموس ، فقم بزيادة القيمة المقابلة بمقدار 1.
إذا لم يكن العنصر في القاموس ، فأضفه كمفتاح بقيمة 1.
Пройдитесь по словарю и найдите ключ с наибольшим значением. Это и будет искомый элемент.
Приведем простой пример кода, который реализует данный алгоритм:
def find_most_common_element(arr):
count_dict = {}
for element in arr:
if element in count_dict:
count += 1
else:
count_dict[element] = 1
most_common_element = max(count_dict, key=count_dict.get)
return most_common_element
array = [1, 2, 3, 4, 2, 2, 3]
result = find_most_common_element(array)
print(result)
ستكون نتيجة تنفيذ الكود هي الرقم 2 ، لأنه يحدث في المصفوفة أكبر عدد من المرات — 3.
هذه الخوارزمية بسيطة للغاية وتسمح لك بالعثور على العنصر الأكثر تكرارا في المصفوفة. ومع ذلك ، إذا كان هناك عدة عناصر في المصفوفة تكرر نفس عدد المرات ، فستقوم الخوارزمية بإرجاع عنصر واحد فقط من هذه العناصر. إذا كنت بحاجة إلى العثور على جميع العناصر التي تكرر أكبر عدد من المرات ، فأنت بحاجة إلى استخدام نهج مختلف.