البرمجة

حذف العناصر المكررة في Python بدون استخدام set

(باللغة العربية)

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

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

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

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

python
T = int(input()) a = [] unique_elements = [] for i in range(0, T): element = input() a.append(element) # إذا لم يكن العنصر قد تم إضافته إلى قائمة العناصر الفريدة بعد، قم بإضافته if element not in unique_elements: unique_elements.append(element) print(unique_elements)

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

المزيد من المعلومات

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

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

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

python
T = int(input()) a = [] for i in range(T): a.append(input()) unique_elements = [] for element in a: if element not in unique_elements: unique_elements.append(element) print(unique_elements)

هذا الكود يستخدم قائمة إضافية unique_elements لتخزين العناصر الفريدة. في كل مرة يتم قراءة عنصر جديد من القائمة الأصلية (a، ويراجع ما إذا كان قد تمت إضافته إلى القائمة unique_elements من قبل. إذا لم يكن موجودًا، يتم إضافته.

زر الذهاب إلى الأعلى