زمزم بنت يوسف نشر 1 ديسمبر 2022 أرسل تقرير نشر 1 ديسمبر 2022 السلام عليكم ورحمة الله وبركاته لذدي مشكلة بسيطة : إذا كان معي لستين L1 و L2 وأريد تقسيم اللست الأولى إعتمادا على اللست الثانية مثل ما يظهر في الصورة.. كيف أستطيع فعل ذلك؟ و جزاكم الله خيرا 1 اقتباس
1 Kais Hasan نشر 1 ديسمبر 2022 أرسل تقرير نشر 1 ديسمبر 2022 لحل التمرين السابق يمكننا تنفيذ المطلوب بشكل حرفي، يلزمنا لائحتين، واحدة لتخزين الناتج النهائي و أخرى لتخزين ما لدينا حتى الآن ( و التي سنضيفها للناتج النهائي عندما يجب التقسيم) بالإضافة إلى عداد يعد كم عنصر لدينا حتى الآن و هو موجود في اللائحة b، حيث سنستعمل هذا المتحول لنقوم بالتقسيم عندما يصبح لدينا عنصرين (و هو المطلوب حسب شرحك). يمكن كتابة كود بايثون بالشكل التالي: a = [[0, 0], [0,4], [1,3], [2,0], [2,1], [3,0], [3,1], [3,2], [4,0],[4,4]] b = [[0,0],[0,4],[2,0],[4,4]] new_list = [] temp = [] c = 0 for i in a: if i in b: c += 1 if c == 2: new_list.append(temp) temp = [i] c = 1 else: temp.append(i) if temp: new_list.append(temp) for i in new_list: print(i) في البداية قمت بتعريف لائحتين حسب الدخل الذي قمت بإرفاقه. ثم نقوم بتعريف المتغيرات التي تحدثت عنها، حيث أن new_list ستخزن الناتج النهائي، و temp ستكون لائحة لتخزين العناصر التي لدينا حتى الآن، و c هو عداد يعد كم عنصر لدينا منذ آخر تقسيم يوجد في اللائحة b. نقوم بالمرور على كافة العناصر في a، في حال كان العنصر الحالي موجود في b نقوم بزيادة العداد. الآن في حال وصل العداد إلى الرقم 2 فهذا يعني أنه لدينا عددين موجودين ضمن اللائحة b و هذا لا يجوز، لذلك علينا القيام بعملية تقسيم هنا، فنقوم بإضافة ما لدينا حتى الآن إلى اللائحة new_list ثم نقوم بجعل اللائحة temp تحتوي آخر عنصر (أي العنصر الحالي) فقط، و ذلك ﻷننا قمنا بعملية تقسيم و كافة العناصر السابقة ذهبت إلى اللائحة new_list، و يصبح العداد 1 (حيث أنه لدينا عدد واحد فقط في اللائحة temp و في اللائحة b). في حال لم يكن العداد قد وصل إلى الرقم 2 فنقوم فقط بإضافة العنصر الحالي إلى اللائحة temp. في النهاية نتحقق في حال كان لا يزال لدينا عناصر في اللائحة temp فنقوم بإضافتها إلى اللائحة new_list. و نقوم بطباعة العناصر، كل عنصر في سطر. 1 اقتباس
السؤال
زمزم بنت يوسف
السلام عليكم ورحمة الله وبركاته
لذدي مشكلة بسيطة :
إذا كان معي لستين L1 و L2 وأريد تقسيم اللست الأولى إعتمادا على اللست الثانية مثل ما يظهر في الصورة..
كيف أستطيع فعل ذلك؟
و جزاكم الله خيرا
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.