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

كيفية إزالة العناصر المكررة في قائمة بايثون: دليل بسيط

  • المهندس عبد الجبّار بو مدين
  • المقالات

بايثون هي لغة برمجة قوية ومرنة توفر العديد من الوظائف للعمل مع القوائم. تتمثل إحدى المهام الشائعة عند العمل مع القوائم في إزالة العناصر المكررة.

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

تقوم وظيفة المجموعة () في بايثون بإنشاء مجموعة من قائمة وتزيل تلقائيا جميع العناصر المكررة. المجموعة عبارة عن مجموعة فريدة من العناصر التي يوجد فيها كل عنصر مرة واحدة فقط.

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

  1. لماذا حذف العناصر المكررة في قوائم بايثون
  2. طرق لإزالة العناصر المكررة في قوائم بايثون
  3. 1. باستخدام المجموعة
  4. 2. باستخدام الدورة
  5. 3. باستخدام وظيفة مجموعة ()
  6. 4. باستخدام وحدة إيترتولس
  7. 5. استخدام إدراج القائمة
  8. 6. استخدام مكتبة الباندا
  9. المدمج في مجموعة () وظيفة
  10. استخدام حلقة والتحقق من وجود عنصر في قائمة جديدة
  11. استخدام مكتبة إيترتولس
  12. مثال 1: إزالة العناصر المكررة باستخدام وظيفة المجموعة المدمجة ()
  13. مثال 2: إزالة العناصر المكررة باستخدام حلقة
  14. مثال 3: إزالة العناصر المكررة باستخدام مكتبة إيترتولس
  15. مقارنة بين الطرق المختلفة لإزالة العناصر المكررة في قوائم بايثون
  16. 1. باستخدام مجموعة ()
  17. 2. باستخدام الدورة
  18. 3. استخدام فهم القائمة
  19. سؤال وجواب
  20. كيف يمكنني إزالة العناصر المكررة من قائمة في بيثون?
  21. كيف يمكنني حذف العناصر المكررة مرة واحدة فقط في قائمة في بيثون?
  22. هل من الممكن إزالة العناصر المكررة من القائمة دون تغيير ترتيبها?

لماذا حذف العناصر المكررة في قوائم بايثون

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

فيما يلي بعض الأسباب الرئيسية التي تجعل من الضروري في كثير من الأحيان إزالة العناصر المكررة في قوائم بايثون:

  1. تبسيط البيانات: عند العمل بكميات كبيرة من البيانات ، يمكن أن تشغل العناصر المكررة مساحة كبيرة وتعقد معالجة المعلومات. تؤدي إزالة العناصر المكررة إلى تقليل حجم القائمة وجعلها أكثر إحكاما.
  2. التفرد: في بعض الحالات ، يجب معالجة عناصر القائمة الفريدة فقط. على سبيل المثال ، عند تحليل نتائج الاستطلاع أو مراجعات المستخدمين ، تحتاج أحيانا فقط إلى الحصول على ردود أو تعليقات فريدة. تساعد إزالة العناصر المكررة في الحصول على قيم فريدة فقط وتجنب تكرار المعلومات.
  3. البيانات المكررة: في بعض الحالات ، قد تكون العناصر المكررة خطأ أو مشكلة في البيانات. على سبيل المثال ، يجب ألا تكون هناك أسماء مكررة في قائمة المشاركين في الحدث. إذا تم العثور على مثل هذه الأخطاء ، فإن إزالة العناصر المكررة تساعد في إصلاحها واكتشاف المشكلة.
  4. كفاءة البحث: عند العمل مع قوائم كبيرة ، قد تحتاج إلى البحث بسرعة عن القيم. إذا كان هناك العديد من العناصر المكررة في القائمة ، فقد يكون البحث صعبا وبطيئا. تتيح لك إزالة العناصر المكررة تسريع البحث وتحسين كفاءة العمل مع البيانات.

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

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

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

تعتمد طريقة إزالة العناصر المكررة على المهمة المحددة ومتطلبات الأداء.

طرق لإزالة العناصر المكررة في قوائم بايثون

تقدم بايثون عدة طرق لإزالة العناصر المكررة من القائمة. وهنا بعض منهم:

1. باستخدام المجموعة

  • قم بإنشاء مجموعة من القائمة لإزالة العناصر المكررة.
  • تحويل هذه المجموعة إلى قائمة.
  • احصل على القائمة النهائية دون تكرار.

2. باستخدام الدورة

  • إنشاء قائمة فارغة جديدة لتخزين عناصر فريدة من نوعها.
  • انتقل من خلال كل عنصر في القائمة الأصلية.
  • إذا كان العنصر موجودا بالفعل في القائمة الجديدة ، فتخطه.
  • إذا لم يكن العنصر موجودا بالفعل في القائمة الجديدة ، فأضفه إليه.

3. باستخدام وظيفة مجموعة ()

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

4. باستخدام وحدة إيترتولس

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

5. استخدام إدراج القائمة

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

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

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

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

المدمج في مجموعة () وظيفة

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

تتيح لك وظيفة المجموعة () إنشاء مجموعات-مجموعات غير مرتبة من العناصر الفريدة. في هذه الحالة ، يتم حذف العناصر المكررة في القائمة تلقائيا.

لحذف العناصر المكررة في القائمة باستخدام وظيفة تعيين () ، اتبع الخطوات التالية:

  1. قم بتحويل القائمة إلى مجموعة باستخدام وظيفة المجموعة ().
  2. تحويل المجموعة إلى قائمة.

في ما يلي مثال على التعليمات البرمجية يوضح إزالة العناصر المكررة من القائمة:

لست = [1, 2, 3, 3, 4, 5, 5, 6]

فريدة من نوعها = قائمة (مجموعة (ضريبة القيمة المضافة))

طباعة (فريدة من نوعها)

نتيجة لتنفيذ التعليمات البرمجية ، سيتم إخراج قائمة فريدة من نوعها بدون عناصر مكررة:

[1, 2, 3, 4, 5, 6]

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

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

استخدام حلقة والتحقق من وجود عنصر في قائمة جديدة

لإزالة العناصر المكررة في قائمة في بيثون ، يمكنك استخدام حلقة والتحقق من وجود عنصر في قائمة جديدة.

الخوارزمية هي كما يلي:

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

مثال على الكود النهائي:

ديف ريموف_وبليكاتس(لست):

جديد = []

لأني في:

إذا لم أكن في:

جديد.إلحاق (ط)

عودة جديد_لست

# مثال على استخدام

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

النتيجة = إزالة التكرارات(قائمتي)

طباعة (نتيجة)

الناتج:

[1, 2, 3, 4, 5]

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

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

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

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

استخدام مكتبة إيترتولس

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

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

مثال الاستخدام:

من استيراد إيترتولس *

ألف = [1, 2, 3, 4, 2, 3, 4, 5]

ب = قائمة(فريدة من نوعها (أ))

طباعة (ب)

، حيث تتم إزالة جميع العناصر المكررة.

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

مثال 1: إزالة العناصر المكررة باستخدام وظيفة المجموعة المضمنة ()

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

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

في ما يلي مثال يوضح استخدام وظيفة المجموعة () لإزالة العناصر المكررة من القائمة:

# القائمة الأصلية مع عناصر قائمتي المكررة

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

# استخدم وظيفة المجموعة () لإزالة العناصر المكررة

قائمة فريدة = قائمة(مجموعة(قائمتي))

طباعة (قائمة فريدة)

ستكون نتيجة تنفيذ هذا الرمز:

[1, 2, 3, 4]

كما ترى من المثال ، تقوم وظيفة المجموعة() بإزالة جميع العناصر المكررة من القائمة وإرجاع قائمة جديدة بقيم فريدة.

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

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

مثال 2: إزالة العناصر المكررة باستخدام حلقة

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

هنا هو رمز:

# قائمتي قائمة المصدر

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

# إنشاء قائمة فارغة للعناصر الفريدة

قائمة فريدة = []

# نذهب من خلال كل عنصر من عناصر القائمة الأصلية

للعنصر في قائمتي:

# تحقق مما إذا كان هذا العنصر موجودا في قائمة العناصر الفريدة

إذا لم يكن العنصر في قائمة فريدة:

# إذا لم تتم إضافة العنصر إلى قائمة العناصر الفريدة ، فأضفه

قائمة فريدة.إلحاق (البند)

# إخراج قائمة من العناصر الفريدة

طباعة (قائمة فريدة)

نتيجة البرنامج:

[1, 2, 3, 4, 5]

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

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

مثال 3: إزالة العناصر المكررة باستخدام مكتبة إيترتولس

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

لاستخدام وظيفة غروببي من مكتبة إيترتولس ، يجب عليك أولا استيراده:

استيراد إيترتولس

بعد ذلك ، يمكنك إنشاء قائمة تحتوي على عناصر مكررة:

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

يمكن بعد ذلك استخدام وظيفة المجموعة لإزالة عناصر القائمة المكررة.:

قائمة جديدة = [مفتاح للمفتاح ، مجموعة في أدوات التكرار.مجموعة (قائمتي)]

سوف تحتوي على قائمة مع عدم وجود عناصر مكررة:

[1, 2, 3]

وهكذا ، وذلك باستخدام وظيفة غروببي من مكتبة إيترتولس ، يمكنك بسهولة إزالة العناصر المكررة من القائمة في بيثون.

مقارنة بين الطرق المختلفة لإزالة العناصر المكررة في قوائم بايثون

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

1. باستخدام مجموعة ()

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

لست = [1, 2, 3, 4, 3, 2, 1]

فريدة من نوعها = قائمة (مجموعة (ضريبة القيمة المضافة))

طباعة (فريدة من نوعها)

النتيجة:

  • 1
  • 2
  • 3
  • 4

يعد استخدام مجموعة لإزالة العناصر المكررة هو الطريقة الأكثر فعالية.

2. باستخدام الدورة

إذا كان من الضروري الحفاظ على ترتيب العناصر واستخدام مجموعة غير مقبول ، يمكنك استخدام حلقة لإزالة العناصر المكررة.

لست = [1, 2, 3, 4, 3, 2, 1]

فريدة من نوعها = []

ل إليم في لست:

إذا إليم ليس في فريدة من نوعها:

فريدة من نوعها.إلحاق (إليم)

طباعة (فريدة من نوعها)

النتيجة:

  • 1
  • 2
  • 3
  • 4

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

3. استخدام فهم القائمة

هناك طريقة أخرى لإزالة العناصر المكررة وهي استخدام فهم القائمة.

لست = [1, 2, 3, 4, 3, 2, 1]

[إليم ل أنا ، إليم في تعداد (لست) إذا إليم ليس في لست [: أنا]]

طباعة (فريدة من نوعها)

النتيجة:

  • 1
  • 2
  • 3
  • 4

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

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

سؤال وجواب

كيف يمكنني إزالة العناصر المكررة من قائمة في بيثون?

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

كيف يمكنني حذف العناصر المكررة مرة واحدة فقط في قائمة في بيثون?

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

هل من الممكن إزالة العناصر المكررة من القائمة دون تغيير ترتيبها?

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