• 0

كيف ممكن احذف العناصر المتكررة ضمن سلسلة في البايثون

لنفترض لدي السلسلة التالية:

t = [1, 2, 3, 1, 2, 5, 6, 7, 8]

و اريد الحصول على هذه السلسة

m=[5,6,7,8]

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

مرحبا
نحتاج الى مصفوفتين, مصفوفة فيها العناصر ومصفوفة فارغة سوف نضع فيها العناصر الغير متكررة
لفعل ذلك سوف نقوم بعمل حلقة على عناصر المصفوفة التي فيها العناصر ونضيف كل عنصر غير مكرر الى المصفوفة الفارغة, لنشرح ذلك بمثال

myArray = [1, 3, 5, 6, 3, 5, 6, 1]//المصفوفة التي فيها العناصر
print ("The original list is : " +  str(myArray))//نريد أن نطبعها قبل ازالة العناصر المتكررة
  

myArray_after = []//مصفوفة فارغة لنضيف فيها العناصر الغير مكررة
for i in myArray://حلقة للمرور على العناصر في المصفوفة الاولى التي فيها العناصر
    if i not in myArray_after://هذا شرط ان لا يكون العنصر موجود في المصفوفة الفارغة لكي نتاكد بأنه لن يتكرر
        myArray_after.append(i)//اذا تحقق الشرط سوف يتم اضافته الى المصفوفة الفارغة
  
print ("The list after removing duplicates : " + str(myArray_after))//نطبع المصفوفة الثانية التي تم اضافة العناصر اليها

لقد شرحت لك الكود بالاعلى
شكرا لك

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يمكنك استخدام دالتي set,  list بحيث تمرر السلسلة الأولى إلى دالة set المضمنة بداخل دالة list مثل الكود التالي 

t = [1, 2, 3, 1, 2, 5, 6, 7, 8]
t = list(set(t))

فتعمل الدالة على حذف العناصر المكررة من السلسلة فيكون الناتج بهذا الشكل 

[1, 2, 3, 5, 6, 7, 8]

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

[1, 2, 3]

فنقوم بوضع التالي 

s = [1, 2, 3]

ثم 

m = list(set(t) - set(s))

ثم نطبع المتغير m 

print(m)

فتكون النتيجة السلسلة التالية 

[8, 5, 6, 7]

الكود كاملاً 

t = [1, 2, 3, 1, 2, 5, 6, 7, 8]
t = list(set(t))
s = [1, 2, 3]
m = list(set(t) - set(s))
print(m)

303.png

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يمكن مسح العناصر المتكرر اكثر من مره في ال list عن طريق عمل tmp dictionary ونعدد عدد مرات تكرار العنصر في ال list 

ثم نقوم بإضافة العناصر التي تكررت مره واحده فقط لل result list

t = [1, 2, 3, 1, 2, 5, 6, 7, 8]

tmp = {}
result = []

// نقوم بعد عدد مرات تكرر العنصر في ال list
for x in t:
    d = {x: (tmp.get(x, 0) + 1)}
    tmp.update(d)

// ناتج هذه العمليه يحتوي ال tmp dictionary 
// تحتوي العنصر وعدد مرات تكراره
// tmp = {1: 2, 2: 2, 3: 1, 5: 1, 6: 1, 7: 1, 8: 1} 

// ثم ندمج العنصر إذا كان تكرر مره واحده فقط لل result list
for x in tmp:
    if tmp[x] == 1:
        result.append(x)

// تكون قيمة ال result list
// result = [3,5,6,7,8]

for x in result:
    print(x)
// الناتج
3
5
6
7
8

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن