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

السؤال

Recommended Posts

  • 0
نشر

وعليكم السلام ورحمة الله تعالى وبركاته،

في بايثون المربعان ‎[ ]‎ يستخدمان للوصول إلى العنصر ذي الفهرس المعيّن داخل القائمة لا لاستخراج عمود من مصفوفة ثنائية الأبعاد.

أي عندما تكتب ‎points[1] فأنت تطلب القائمة الموجودة في الموضع 1 مع العلم أن الترقيم يبدأ من ‎0‎ أي ‎[1, 4, 0] كما عرّفتها أنت بالضبط أمّا القيمة ‎[1, 4, -4]‎ التي تتوقّعها فهي ليست عنصرا واحدا في ‎points بل هي العناصر الثانية من كل سطر أي ‎1‎ من ‎[-3, 1, 2]‎ ثم ‎4‎ من ‎[1, 4, 0]‎ ثم ‎-4‎ من ‎[-1, -4, 5]‎ للحصول على هذا العمود ينبغي أن تمرَّ على الصفوف وتلتقط العنصر ذي الفهرس ‎1‎ في كل صف كالتالي:

col1 = [row[1] for row in points]

وهذا سيعيد:

[1, 4, -4]

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

  • 0
نشر

السؤال غير واضح، في حال السؤال خاص بأحد الدروس، أرجو وضع استفسارك في التعليقات أسفل الدرس وليس في قسم أسئلة البرمجة العام.

عامًة الأمر يتعلق بكيفية عمل المصفوفات في البرمجة، وليس بالعملية الحسابية، بل بعملية استدعاء أو جلب.

 

في معظم لغات البرمجة، يبدأ ترقيم عناصر المصفوفة (قائمة في بايثون) من الرقم 0 وليس من 1، لذلك:

  • العنصر الأول هو points[0]
  • العنصر الثاني هو points[1]
  • العنصر الثالث هو points[2]

بالتالي points[1] يعني الحصول على العنصر الثاني  بدون أي تغيير أو حساب، والعنصر الثاني المخزن بالفعل هو [1, 4, 0] وهو مصفوفة.

  • 0
نشر

أنت لديك:

points = [[-3, 1, 2], [1, 4, 0], [-1, -4, 5]]

وهذه عبارة عن قائمة ثنائية الأبعاد أي قائمة من القوائم بحيث كل عنصر من عناصرها هو صف مكوّن من 3 أرقام وعند كتابة:

points[1]

في القائمة فإنك تطلب الوصول إلى العنصر الثاني في القائمة لأن الترقيم يبدأ من الصفر وبالتالي ترجع القيمة [1, 4, 0] وهي الصف الثاني بالكامل وليس عمودا.

أما القيمة [1, 4, -4] التي أشرت إليها فهي تمثل العناصر ذات الفهرس 1 في كل صف أي أنها تشكل ما يعرف بالعمود الثاني في مصفوفة ثنائية الأبعاد، وللحصول عليها في بايثون يجب استخدام حلقة أو فهم قائمة مثل:

[row[1] for row in points]

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...