ينشئ بايثون مصفوفة ثنائية الابعاد باستخدام القوائم المتداخلة صح ام خطا؟
الإجابة الصحيحة من خلال موقع بوابة الإجابات هي:
صح
## شرح: إنشاء مصفوفة ثنائية الأبعاد في بايثون باستخدام القوائم المتداخلة
الإجابة صحيحة. بايثون لا يمتلك نوع بيانات مصفوفة (array) مدمجًا بنفس الطريقة التي توجد في لغات أخرى مثل C++ أو Java. لكن يمكننا إنشاء مصفوفة ثنائية الأبعاد (أو أي عدد من الأبعاد) باستخدام القوائم المتداخلة.
ما هي القوائم المتداخلة؟
القائمة المتداخلة هي قائمة تحتوي على قوائم أخرى بداخلها. تخيلها كجدول يتكون من صفوف وأعمدة.
- الصفوف: تمثلها القوائم الداخلية.
- الأعمدة: تمثلها العناصر داخل كل قائمة داخلية.
مثال:```python
# إنشاء مصفوفة ثنائية الأبعاد 3x3 (3 صفوف و 3 أعمدة)
matrix = [
[1, 2, 3], # الصف الأول
[4, 5, 6], # الصف الثاني
[7, 8, 9] # الصف الثالث
]
# للوصول إلى عنصر معين، نستخدم فهرسين:
# الفهرس الأول للصف، والفهرس الثاني للعمود
print(matrix[0][0]) # سيطبع 1 (العنصر في الصف الأول، العمود الأول)
print(matrix[1][2]) # سيطبع 6 (العنصر في الصف الثاني، العمود الثالث)
```
شرح المثال:
- `matrix` هي القائمة الخارجية التي تمثل المصفوفة بأكملها.
- كل قائمة داخل `matrix` (مثل `[1, 2, 3]`) تمثل صفًا في المصفوفة.
- `matrix[0]` تعني الوصول إلى الصف الأول (تذكر أن الفهرسة في بايثون تبدأ من 0).
- `matrix[0][0]` تعني الوصول إلى العنصر الأول في الصف الأول.
كيفية إنشاء مصفوفة فارغة ثم ملؤها:يمكنك أيضًا إنشاء مصفوفة فارغة ثم ملؤها بالعناصر:
```python
# إنشاء مصفوفة 2x4 (2 صفوف و 4 أعمدة) مملوءة بالأصفار
rows = 2
cols = 4
matrix = [[0 for _ in range(cols)] for _ in range(rows)]
# الآن يمكنك ملء المصفوفة بقيم مختلفة
matrix[0][0] = 10
matrix[1][3] = 20
print(matrix) # سيطبع [[10, 0, 0, 0], [0, 0, 0, 20]]
```
ملحوظة: استخدام القوائم المتداخلة لتمثيل المصفوفات في بايثون مرن جدًا، لكنه قد يكون أبطأ من استخدام مكتبات مثل NumPy للعمليات الحسابية المعقدة على المصفوفات الكبيرة.
اذا كان لديك إجابة افضل او هناك خطأ في الإجابة علي سؤال ينشئ بايثون مصفوفة ثنائية الابعاد باستخدام القوائم المتداخلة صح ام خطا اترك تعليق فورآ.