اذهب إلى المحتوى

السؤال

Recommended Posts

  • 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

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...