الانتقال إلى المحتوى الرئيسي

كيفية العثور على فهارس العناصر المكررة في بايثون: دليل مفصل

عند العمل مع المصفوفات أو قوائم البيانات في بايثون ، قد يكون من الضروري العثور على فهارس العناصر التي تتكرر. يمكن حل هذه المشكلة بعدة طرق وفي هذه المقالة سننظر في أكثر الطرق فعالية.

تتمثل إحدى طرق حل المشكلة في استخدام حلقة والتحقق من كل عنصر للتكرار في القائمة. قد تكون هذه الطريقة غير فعالة للقوائم الكبيرة ، حيث سيكون وقت التنفيذ متناسبا مع عدد العناصر. ومع ذلك ، فإن هذه الطريقة سهلة التنفيذ ويمكن أن تكون مفيدة للقوائم الصغيرة.

هناك طريقة أخرى لحل المشكلة وهي استخدام وظيفة العد () ، والتي ترجع عدد التكرارات لعنصر ما في القائمة. يمكننا التكرار من خلال جميع عناصر القائمة باستخدام حلقة ، ولكل عنصر تحقق من عدد التكرارات باستخدام وظيفة العد (). إذا كان عدد التكرارات أكبر من واحد ، فيمكننا حفظ فهرس هذا العنصر في قائمة أو مصفوفة منفصلة. ومع ذلك ، لا تزال هذه الطريقة معقدة ا(ن^2) وقد تكون غير فعالة للقوائم الكبيرة.

طريقة أكثر فعالية لحل المشكلة هي استخدام وحدة المجموعات وفئة العداد الخاصة بها. تسمح لنا هذه الفئة بإنشاء قاموس تكون فيه المفاتيح هي عناصر القائمة والقيم هي عدد التكرارات. يمكننا استخدام هذا القاموس للعثور على فهارس العناصر المكررة في القائمة بمجرد تصفح مفاتيح وقيم القاموس.

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

  1. أساسيات فهرسة العناصر المكررة في بايثون
  2. طرق العثور على فهارس العناصر المكررة في بايثون
  3. أمثلة على استخدام فهارس العناصر المكررة في بايثون
  4. 1. باستخدام ل حلقة
  5. 2. باستخدام طريقة الفهرس ()
  6. 3. باستخدام مكتبة نومبي
  7. 4. استخدام مكتبة الباندا
  8. سؤال وجواب
  9. ما هي فهارس العناصر المكررة?
  10. هل من الممكن استخدام الحلقات للعثور على فهارس العناصر المكررة?
  11. هل من الممكن العثور على فهارس العناصر المكررة على التوالي?
  12. ما هي الطريقة التي يمكن استخدامها للعثور على فهارس العناصر المكررة?
  13. ما هي الطرق الأخرى للعثور على فهارس العناصر المكررة في بايثون?
  14. كيف يمكنني حل مشاكل الأداء عند البحث عن فهارس العناصر المكررة?

أساسيات فهرسة العناصر المكررة في بايثون

عند العمل مع البيانات في بايثون ، غالبا ما يكون من الضروري العثور على فهارس للعناصر المكررة في القائمة. يمكن أن يكون هذا مفيدا ، على سبيل المثال ، عند تحليل البيانات أو عند البحث عن التكرارات.

يوفر بايثون عدة طرق للعثور على فهارس العناصر المكررة في القائمة. وهنا بعض منهم:

  • استخدام الحلقات: يمكنك استخدام الحلقات للتكرار من خلال عناصر القائمة والتحقق من التكرار. إذا تم اكتشاف التكرار ، يمكنك حفظ فهرس العنصر في قائمة أو عداد منفصل.
  • باستخدام طريقة الفهرس (): تتيح لك طريقة الفهرس () العثور على فهرس التكرار الأول لعنصر في القائمة. إذا تم تكرار العنصر عدة مرات ، فإن الطريقة ترجع فهرس التكرار الأول فقط. للعثور على جميع فهارس العناصر المكررة ، يمكنك استخدام حلقة عن طريق استدعاء طريقة الفهرس() بالتسلسل وحفظ الفهارس التي تم العثور عليها.
  • استخدام مولدات القائمة: تتيح لك مولدات القائمة إنشاء قائمة جديدة تحتوي فقط على فهارس للعناصر المكررة من القائمة الأصلية. للقيام بذلك ، يمكنك استخدام تعبير شرطي داخل مولد القائمة.

يعتمد اختيار الطريقة على المهمة المحددة وتفضيلات المبرمج. قد تكون بعض الطرق أكثر فعالية للقوائم الكبيرة ، وبعضها للمهام الصغيرة والبسيطة.

ضع في اعتبارك أن بعض الطرق قد تكون بطيئة إذا كان عدد العناصر المكررة في القائمة كبيرا جدا. في مثل هذه الحالات ، قد يكون من الضروري تحسين الكود أو استخدام هياكل بيانات أخرى ، مثل المجموعات أو القواميس.

على أي حال ، يمكن أن تكون معرفة أساسيات فهرسة العناصر المكررة في بايثون مفيدة عند العمل مع البيانات وتقليل وقت تنفيذ البرنامج.

طرق العثور على فهارس العناصر المكررة في بايثون

بيثون هي واحدة من لغات البرمجة الأكثر شعبية في العالم ، والتي توفر أساليب مختلفة للعمل مع المصفوفات وقوائم البيانات. عندما يكون لدينا قائمة بالعناصر ونحتاج إلى العثور على فهارس للعناصر المكررة ، يمكننا استخدام عدة طرق.

1. الفهرس()

الطريقة تقوم طريقة الفهرس () بإرجاع فهرس العنصر المحدد في القائمة. إذا لم يتم العثور على العنصر ، فإن هذه الطريقة تلقي استثناء خطأ القيمة. Чтобы найти все индексы повторяющихся элементов в списке, мы можем использовать цикл:

lst = [1, 2, 3, 4, 2, 3, 1, 2]

duplicates = []

for i in range(len(lst)):

if lst.count(lst[i]) > 1 and lst[i] not in duplicates:

duplicates.append(lst[i])

print("Index of", lst[i], "in the list:", end=" ")

for j in range(len(lst)):

if lst[j] == lst[i]:

print(j, end=" ")

print()

В этом коде переменная lst содержит список элементов. نقوم بإنشاء قائمة مكررة فارغة لتخزين العناصر المكررة. ثم نقوم بتكرار فهارس العناصر الموجودة في القائمة والتحقق مما إذا كان العنصر مكررا. إذا كان الأمر كذلك ، فإننا نضيفه إلى قائمة التكرارات ونخرج فهارس جميع التكرارات في القائمة.

2. تعداد () طريقة

Метод enumerate() используется для получения индексов и значений элементов списка во время итерации. Мы можем использовать его, чтобы найти индексы повторяющихся элементов:

lst = [1, 2, 3, 4, 2, 3, 1, 2]

duplicates = []

for i, value in enumerate(lst):

if lst.count(value) > 1 and value not in duplicates:

duplicates.append(value)

print("Index of", value, "in the list:", end=" ")

for j, value2 in enumerate(lst):

if value2 == value:

print(j, end=" ")

print()

في هذا الرمز ، نستخدم ل حلقة في تركيبة مع طريقة تعداد () للحصول على فهارس وقيم عناصر القائمة. ثم نتحقق مما إذا كانت قيمة العنصر متكررة. إذا كان الأمر كذلك ، فقم بإضافته إلى قائمة التكرارات وقم بإخراج فهارس جميع التكرارات في القائمة.

3. وحدة نمباي

إذا كنا نعمل مع صفائف البيانات أو نحتاج إلى طرق أكثر تقدما للعثور على فهارس العناصر المكررة ، فيمكننا استخدام الوحدة النمطية. توفر هذه الوحدة العديد من الوظائف المفيدة للعمل مع المصفوفات:

استيراد نومبي كما نب

أر = نب.صفيف([1, 2, 3, 4, 2, 3, 1, 2])

عناصر فريدة من نوعها ، التهم = نب.فريد (آر ، عد العودة=صحيح)

التكرارات = عناصر فريدة[التهم > 1]

طباعة ("فهارس العناصر المكررة في المصفوفة:")

للعنصر في التكرارات:

طباعة (ملحوظة.حيث (آر== عنصر) [0])

في هذا الرمز ، ونحن استيراد وحدة نومبي كما نب وإنشاء مجموعة أر. ثم نستخدم الدالة الفريدة () للحصول على العناصر الفريدة وعددها في المصفوفة. بعد ذلك ، نحصل على عناصر مكررة عن طريق تصفية العناصر الفريدة وعددها. أخيرا ، نقوم بإخراج فهارس العناصر المكررة في المصفوفة.

خاتمة:

فهارس العناصر المكررة في المصفوفة:

[1 4 7]

[3 5]

[0 6]

في هذه المقالة ، قمنا بمراجعة عدة طرق للعثور على فهارس العناصر المكررة في بايثون. اختيار الطريقة التي تناسب احتياجاتك واستخدامها في المشاريع الخاصة بك.

أمثلة على استخدام فهارس العناصر المكررة في بايثون

يمكن أن يكون العمل مع العناصر المتكررة مهمة مهمة في البرمجة. في بايثون ، هناك عدة طرق للعثور على فهارس العناصر المكررة في قائمة أو صف. فيما يلي بعض الأمثلة على استخدام هذه الأساليب.

1. باستخدام ل حلقة

واحدة من أسهل الطرق للعثور على فهارس العناصر المكررة هي استخدام حلقة للتكرار من خلال عناصر قائمة أو صف. في هذه الحالة ، يمكنك استخدام وظيفة التعداد() للحصول على فهرس العنصر.

قائمتي = [1, 2, 3, 1, 4, 2, 5]

تكرار الفهارس = []

للفهرس ، القيمة في تعداد (قائمتي):

إذا كانت قائمتي.العد (القيمة) > 1:

تكرار الفهارس.إلحاق (فهرس)

طباعة (تكرار الفهارس)

[0, 1, 3, 5]

في هذا المثال ، تم العثور على فهارس العناصر المكررة لقائمة قائمتي. ستكون نتيجة البرنامج [0, 1, 3, 5].

2. باستخدام طريقة الفهرس ()

، تسمح لك طريقة الفهرس () بالعثور على فهرس أول ظهور لعنصر ما. باستخدام هذه الطريقة ، يمكنك العثور على فهارس جميع العناصر المكررة باستخدام حلقة بينما وطريقة إزالة () لحذف العنصر الموجود.

قائمتي = [1, 2, 3, 1, 4, 2, 5]

تكرار الفهارس = []

بينما 1 في قائمتي:

تكرار الفهارس.إلحاق (قائمتي.الفهرس (1))

قائمتي.إزالة (1)

طباعة (تكرار الفهارس)

[0, 3]

في هذا المثال ، تم العثور على فهارس العناصر المكررة لقائمة قائمتي ، والتي تساوي 1. ستكون نتيجة البرنامج [0 ، 3].

3. باستخدام مكتبة نومبي

تحتوي مكتبة نومبي على أدوات قوية للعمل مع المصفوفات والمصفوفات. طريقة واحدة للعثور على فهارس العناصر المكررة باستخدام نومبي هو استخدام وظيفة فريدة من نوعها() وطريقة أين ().

استيراد نومبي كما نب

بلدي = نب . صفيف([1, 2, 3, 1, 4, 2, 5])

عناصر فريدة ، عدد فريد = نب.فريد (صفحتي ، عد العودة=صحيح)

تكرار الفهارس = نب.حيث (عدد فريد > 1) [0]

طباعة (تكرار الفهارس)

[0, 1, 3, 5]

في هذا المثال ، تم العثور على فهارس العناصر المكررة من صفيف بلدي. ستكون نتيجة البرنامج [0, 1, 3, 5].

4. استخدام مكتبة الباندا

توفر مكتبة الباندا فرصا واسعة للعمل مع البيانات. باستخدام طريقة مكررة () ، يمكنك العثور على قيم مكررة في سلسلة أو عمود داتافريم ، والفهرس.طريقة تولست () يسمح لك للحصول على فهارس العناصر المكررة في شكل قائمة.

استيراد الباندا كما بد

سلسلتي = بي دي.سلسلة([1, 2, 3, 1, 4, 2, 5])

فهارس متكررة = سلسلتي[سلسلتي.مكررة ()].فهرس.توليست()

طباعة (تكرار الفهارس)

[3, 5]

في هذا المثال ، تم العثور على فهارس العناصر المكررة في سلسلة بلدي. ستكون نتيجة البرنامج [3 ، 5].

هذه ليست سوى بعض الأمثلة على استخدام فهارس العناصر المكررة في بايثون. اعتمادا على المهمة والبيانات المحددة ، يمكن استخدام طرق ومكتبات أخرى.

سؤال وجواب

ما هي فهارس العناصر المكررة?

فهارس العناصر المكررة هي مواضع أو مواقع العناصر في قائمة أو مصفوفة لها نفس القيم.

هل من الممكن استخدام الحلقات للعثور على فهارس العناصر المكررة?

نعم ، يمكنك استخدام الحلقات ، مثل ل حلقة ، للعثور على فهارس العناصر المكررة في بيثون.

هل من الممكن العثور على فهارس العناصر المكررة على التوالي?

نعم ، يمكنك العثور على فهارس للعناصر المكررة ليس فقط في القوائم أو المصفوفات ، ولكن أيضا في السلاسل.

ما هي الطريقة التي يمكن استخدامها للعثور على فهارس العناصر المكررة?

يمكنك استخدام طرق مثل طريقة الفهرس() أو طريقة العد() للعثور على فهارس العناصر المكررة في بايثون.

ما هي الطرق الأخرى للعثور على فهارس العناصر المكررة في بايثون?

بالإضافة إلى طريقة الفهرس() وطريقة العد () ، يمكنك استخدام مولدات القائمة ، وظيفة التعداد () والدالة نومبي.حيث () للبحث عن فهارس العناصر المكررة في بايثون.

كيف يمكنني حل مشاكل الأداء عند البحث عن فهارس العناصر المكررة?

لحل مشاكل الأداء عند البحث عن فهارس العناصر المكررة ، يمكنك استخدام وظيفة نومبي.فريد() أو وحدة المجموعات لإنشاء قاموس حيث المفاتيح هي العناصر والقيم هي الفهارس.