السلام عليكم النهاردة ان شاْ الله هنتكلم عن حاجه اسها list destructing الاسم غريب شوية ولكنه مهم , الفكرة اني بعمل packing و unpacking لقيم موجودة في iterable زي ال list , tuple وغيرهم

دة ابسط شكل ليها , بعمل unpacking ل tuple

لكن لو حاولت انك unpacking والقيم مش موجودة هيعملك error

يمكن تحس ان الموضوع عادي ومش محتاجيين نتكلم عنه , ولكن تعالي نتكلم عن الاجزاء المهمه في ال list destructing

دلوقتي لو انا عندي list ومحتاج اقسم القيم اللي جوا ال list فهعمل slicing عادي خالص زي الصورة دي

طيب لو عاوز اعمل كدة ب استخدام ال list destructing هيبقي الموضوع اسهل بكتيير

كدة ال head ه ياخد اول قيمه وال tail هياخد بقيه القيم ولو لاحظت هتلاقي قدام ال tail ع لامه ال * ودي معناها ان كل القيم اللي باقيه في ال list هتبقي لل tail طيب لو محتاج اقسم القيم دي علي 3 متغييرات , الموضوع بسيط هتعملها كدة

لو لاحظت هتلاقي في متغير z في الاخر واخد اخر قيمه في ال list مع ان المتغيير اللي قبلها other قدامه * ولكن ال * هنا مكنته ان ياخد كل القيم من بين القيمه ال 3 واخر قيمه

طيب لو في قيم في ال list وانا مش حابب استخدمهم في اقدر اني اتجاهلهم بسهوله جدا بستخدام علامه ال _ للقيم اللي انا حابب اتجاهلها بص علي المثال الجاي دة

هنا تجاهلت كل العناصر بعد اول عنصر , الميزه هنا اني مغيرتش اي حاجه في ال list اللي عندي , وزي ما شوفنا قبل كدة اقدر اتجاهل ل العناصر ما عدا اول واخر عنصر بس زي الصورة دي :

او اتجاهل اكتر من عنصر في اكتر من مكان مختلف بسهوله

بكدة يبقي عرفنا يعني ايه list destructing وشوفنا اكتر من مثال عليها حاول انك تستخدمها اوقات هتوفر عليك كود واستنونا المقالات الجايه #بالتوفيق

#محمود احمد